Запросы к данным
Apache Doris поддерживает стандартный SQL с высокой степенью совместимости с MySQL, а также предоставляет высокопроизводительные запросы с соединениями, богатый набор аналитических функций, доступ к полуструктурированным данным и пользовательские функции. Выберите ниже документацию для своего сценария.
Совместимость с SQL
Соединения нескольких таблиц
Соединения (JOIN)
Типы JOIN, такие как INNER / LEFT / RIGHT / FULL / SEMI / ANTI, и четыре реализации распределённого JOIN: Broadcast, Shuffle, Bucket Shuffle и Colocate.
ASOF JOIN для поиска ближайшего соответствия во временных рядах
Для каждой строки левой таблицы найдите ближайшую строку правой таблицы по времени в заданном направлении, чтобы выровнять временные ряды без оконных функций.
Подзапросы
Синтаксис, ограничения и использование Mark Join при обработке скалярных, нескалярных, коррелированных и некоррелированных подзапросов.
Общие табличные выражения (CTE)
Определяйте временные наборы результатов с помощью предложения WITH. Поддерживаются вложенные и рекурсивные CTE, подходящие для обхода иерархий, графов и решения подобных задач.
Агрегация и аналитика
Аналитика с многомерной агрегацией
Используйте ROLLUP, CUBE и GROUPING SETS для аналитики с многомерной агрегацией в одном операторе SQL.
Аналитические функции (оконные функции)
Используйте предложение OVER для разбиения наборов результатов на секции и задания окон с поддержкой ранжирования, сумм с накоплением, скользящих средних, сравнений год к году и квартал к кварталу и других операций.
Полуструктурированные и сложные данные
Запросы к сложным типам
Выполняйте запросы к сложным типам, таким как Array, Map, Struct и JSON, и обрабатывайте полуструктурированные данные с помощью специализированных функций SQL.
Преобразование столбцов в строки (Lateral View)
Используйте LATERAL VIEW с функциями-генераторами, такими как EXPLODE, чтобы развернуть одну строку в несколько строк и выполнять SQL-запросы с преобразованием столбцов в строки.
Пользовательские функции (UDF)
Java UDF / UDAF / UDWF / UDTF
Разработка пользовательских функций UDF/UDAF/UDWF/UDTF на Java: сопоставление типов, синтаксис регистрации, рекомендации и примеры.
Python UDF / UDAF / UDWF / UDTF
Разработка UDF/UDAF/UDTF на Python: создание, векторизация, настройка окружения и устранение распространённых неполадок.
Функции-псевдонимы
Регистрируйте новую сигнатуру для функции или фрагмента выражения с помощью CREATE ALIAS FUNCTION, чтобы повысить совместимость при миграции и упростить написание сложных запросов.