Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
Определение потока.
CREATE STREAM [IF NOT EXISTS] stream_name [ (column_name [, ...] ) ]
AS(
SELECT [ { * | expression [ [ AS ] output_name ] } [, ...] ]
FROM STREAMING { ALL | INSERT |UPDATE | DELETE } table_name
[ WHERE condition ]
[ join_type ]
[ GROUP BY grouping_element [, ...] ]
[ WITH [ NO ] DATA ]
)
[ USING MARS3 ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ DISTRIBUTED BY ( [column_name [, ...] ] ) ]
CREATE STREAM объявляет определение потока и задаёт внутренние функции управления в базе данных.
stream_name [ (column_name [, ...] ) ]
stream_name: таблица потока. Если используется как конечная точка потока, результат вычислений сохраняется в этой таблице.(column_name [, ...] ): сопоставление полей, может быть опущено. При отсутствии используются по умолчанию поля, перечисленные в секции SELECT блока AS.AS
SELECT [ { * | expression [ [ AS ] output_name ] } [, ...] ]
FROM STREAMING { ALL | INSERT |UPDATE | DELETE } table_name
FROM STREAMING: объявляет, что данные инкрементально подписываются из исходной таблицы в потоке; при этом в соответствующей базе данных запускается набор процессов для отслеживания изменений данных в таблице.ALL | INSERT |UPDATE | DELETE: выбор метода подписки потока на исходную таблицу, то есть отслеживание определённого типа изменений данных в исходной таблице. ALL используется для отслеживания операций вставки, обновления и удаления; INSERT — только вставки; UPDATE — только обновления; DELETE — только удаления.table_name: исходная таблица (входная таблица) потока.join_type
[ INNER ] JOIN; операции типа LEFT [OUTER] JOIN, RIGHT [OUTER] JOIN и другие [OUTER] JOIN будут добавлены в последующих версиях.WITH [NO] DATA
USING MARS3
WITH ( storage_parameter [= value] [, ... ] )
DISTRIBUTED BY ( [column_name [, ...] ] )
Создание базового потока.
CREATE STREAM s1(id, c1, ts, arrive_s1)
AS (
SELECT *, clock_timestamp()
FROM STREAMING t1
WITH NO DATA
)
DISTRIBUTED BY (id);
Создание потока с использованием движка MARS3 и указанием типов и уровней сжатия данных.
CREATE STREAM s4(id, c1, ts, arrive_s4)
AS (
SELECT *, clock_timestamp()
FROM STREAMING t4
WITH NO DATA
)
USING mars3
WITH (compresstype='zstd', compresslevel=1)
DISTRIBUTED BY (id, arrive_s4);
Дополнительную информацию см. в разделе Примеры функций потоковой обработки