Как получать данные из корзины GCS через Dataflow, как только в нее помещается новый файл?

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

Как запустить выполнение задания потока данных, как только новые данные (файл) станут доступны или будут добавлены в сегмент хранилища?


person user1965449    schedule 04.05.2017    source источник
comment
Вы пытаетесь запустить новое пакетное задание при поступлении новых файлов или имеете потоковое задание, которое обрабатывает файлы по мере их поступления?   -  person Ben Chambers    schedule 04.05.2017
comment
Начнем с пакетного задания, которое обрабатывает файлы по мере их поступления. Спасибо.   -  person user1965449    schedule 06.05.2017
comment
Ваши пайплайны написаны на Java или на Python?   -  person Graham Polley    schedule 07.05.2017
comment
Они написаны на Java   -  person user1965449    schedule 07.05.2017


Ответы (1)


Если ваши конвейеры написаны на Java, вы можете использовать облачные функции и Шаблоны потока данных.

Я предполагаю, что вы используете 1.x SDK (это также возможно с 2.x)

  1. Напишите свой конвейер и укажите «TemplatingDataflowPipelineRunner» в качестве бегуна.
  2. Напишите облачную функцию, настроенную на прослушивание и реакцию на новые объекты (в данном случае файлы CSV), которые поступают в вашу корзину.
  3. Облачная функция запускает конвейер потока данных и передает ему имя нового файла в качестве параметра.

Подробнее о том, как построить этот трубопровод. Полное раскрытие информации: я работаю в Shine.

person Graham Polley    schedule 07.05.2017