Инкрементально загружайте и обрабатывайте данные с помощью потоков конвейера Lakeflow

Данные обрабатываются в конвейерах через потоки. Каждый поток состоит из запроса и, как правило, целевого объекта. Поток обрабатывает запрос либо как пакет, либо поэтапно в виде потока данных в целевой объект. Поток существует внутри конвейера Lakeflow.

Как правило, потоки определяются автоматически при создании запроса в конвейере, который обновляет целевой объект, но также можно явно определить дополнительные потоки для более сложной обработки, например добавление к одному целевому объекту из нескольких источников.

Обновления

Поток выполняется каждый раз, когда обновляется его определяющий конвейер. Поток создаст или обновит таблицы с последними доступными данными. В зависимости от типа потока и состояния изменений данных обновление может выполнять добавочное обновление, которое обрабатывает только новые записи или выполняет полное обновление, которое повторно обрабатывает все записи из источника данных.

Потоки по умолчанию и потоки добавления

При создании запроса в конвейере, который обновляет целевой объект, поток по умолчанию определяется автоматически. Для потоковой таблицы поток по умолчанию — это поток добавления , который добавляет новые строки с каждым обновлением и имеет то же имя, что и целевой объект. Создание потока и его целевого объекта на одном шаге является наиболее распространенным способом использования конвейеров, и его можно использовать для приема или преобразования данных.

Можно также определить потоки отдельно от целевого объекта, что позволяет нескольким потокам добавлять данные в один целевой объект. Это полезно при необходимости:

  • Добавьте потоковые источники, которые дописывают данные в существующую потоковую таблицу без необходимости полного обновления.
  • Заполните потоковую таблицу отсутствующими историческими данными.
  • Объединяйте данные из нескольких источников без использования условия UNION.

Примеры создания потоков по умолчанию и явных потоков см. в разделе «Использование потоков в конвейерах Lakeflow».

Типы потоков

Потоки по умолчанию для потоковых таблиц и материализованных представлений — это потоки добавления. Вы также можете создавать потоки для чтения данных из источников слежения за изменением данных. В следующей таблице описаны различные типы потоков.

Тип потока Description
Добавить Потоки добавления — это наиболее распространенный тип потока, где новые записи в источнике записываются в целевой объект с каждым обновлением. Они соответствуют режиму добавления в структурированной потоковой передаче. Вы можете добавить ONCE флаг, указывающий пакетный запрос, данные которого должны вставляться в целевой объект только один раз, если целевой объект не будет полностью обновлен. Любое количество потоков добавления может записываться в определенный целевой объект.
Потоки по умолчанию (созданные с целевой таблицей потоковой передачи или материализованным представлением) будут иметь то же имя, что и целевой объект. Другие целевые объекты не имеют потоков по умолчанию.
Auto CDC (ранее применить изменения) Поток Auto CDC загружает запрос, содержащий данные захвата изменений (CDC). Автоматические потоки CDC могут ориентироваться только на потоковые таблицы, и источник также должен быть потоковым (даже в случае потоков ONCE). Несколько автоматизированных потоков CDC могут быть нацелены на одну потоковую таблицу. Потоковая таблица, выступающая в качестве целевого объекта для автоматического потока CDC, может быть целью только для других автоматических потоков CDC.
Дополнительные сведения о данных CDC см. в api-интерфейсах AUTO CDC: упрощение отслеживания изменений с помощью конвейеров.
Обновление (общедоступная предварительная версия) Update выводит в приемник глобальные потоковые агрегаты без watermark-меток, передавая только те записи, которые изменились в каждом батче.
Потоки обновления доступны только в Python. См. update_flow.

Дополнительные ресурсы

Дополнительные сведения о потоках и их использовании см. в следующих разделах: