TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.37K subscribers
Post #7306 1.55K
Обходим подводные камни работы с UDA в коде на Lua для ScyllaDB: дружим Java-драйвер и пустые значения

Привет, Хабр! Мое имя Александр Коваль, я разработчик IoT-сервисов в МТС Web Services. Сейчас ScyllaDB поддерживает ограниченное количество функций, в том числе агрегационных. В стандартном наборе: min, max, count, avg. Но ее функциональность расширяется двумя типами пользовательских функций: скалярными (scalar functions) и агрегационными (aggregate functions). Первые работают со значениями одной строки, а вторые — нескольких. Реализовать такие функции можно на Lua или Rust.

В процессе работы с агрегационными функциями можно столкнуться с тем, что ScyllaDB и Java-драйвер по-разному обрабатывают пустые значения. В этом посте я расскажу, как это можно решить относительно просто и без сложных дополнительных телодвижений. Для примера возьму код на Lua и покажу, как он реализуется в виде функции ScyllaDB.

Дисклеймер: этот материал написан на основе личного опыта — все решения получены методом проб и ошибок. Конструктивные предложения и советы по их улучшению приветствуется. Код с примерами и ссылки на ресурсы можно найти у меня в репозитории GitHub.


Читать: https://habr.com/ru/companies/ru_mts/articles/902544/?utm_campaign=902544

@a_cup_of_java | Другие наши каналы
More from @a_cup_of_java
  1. Oct 2, 2026JDK 26: измеряем затраты CPU на сборку мусора JDK 26 добавляет MemoryMXBean.getTotalGcCpuT…
  2. Oct 1, 2026Как измерить экономию памяти от компактных заголовков в Java 27 В Java 27 HotSpot по умолч…
  3. Oct 1, 2026Spring Boot 4 и BoxLang: как сохранить CFML-шаблоны при миграции BoxLang Spring Boot Start…
  4. Oct 1, 2026JDK 25 и G1: почему Arrays.fill замедлился в 265 раз В JMH-тесте на Apple M4 Max заполнени…
  5. Sep 30, 2026Как настроить MFA в Spring Security 7 для приложения и отдельных эндпоинтов Spring Securit…
  6. Sep 30, 2026Как StructuredTaskScope в JDK 27 отменяет лишнюю работу при сбое Два независимых вызова к…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →