Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по 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);
Дополнительную информацию см. в разделе Примеры функций потоковой обработки