Как запустить задание Dataflow из контейнера docker? - PullRequest
0 голосов
/ 05 мая 2020

Я хочу пересобрать шаблон из docker, но не с помощью API Dataflow. API Dataflow не решает проблему с состоянием конвейера. Запуск компиляции mvn решает проблему, но как я могу это сделать из docker?

  1. Когда я локально выполняю компиляцию mvn моего шаблона Dataflow с args templateLocation, stagingLocation из файла шаблона копируется в указанную корзину GCS.

  2. Затем я могу запустить и запустить задание Dataflow различными способами, используя путь к этому шаблону.

  3. Однако мой конвейер потребляет данные из BigQuery, и когда я запускаю его в хронометре с аргументом Dynami c, он не обновляет состояние. См. - Dynami c запрос bigquery в шаблоне потока данных

  4. Я заметил, что если я запускаю mvn compile, обновляя шаблон - это каким-то образом обновляет состояние задания конвейера и мой запрос SQL обновлен.

  5. Итак, я пытаюсь сделать это автоматически / удаленно / в ci, запустив контейнер, в котором я могу выполнить эту команду. До сих пор мне удалось успешно запустить mvn compile, но в GCS нет шаблона. Ошибок не отображается.

Нужно ли мне сначала сгенерировать банку и как-то зарегистрировать ее как шаблон? Какая связь между созданным файлом шаблона и jar-файлом Dataflow? Глядя на шаблон, кажется, что это какие-то метаданные о скомпилированном конвейере. Мне это нужно?

Подробнее см. Мой другой вопрос без ответа :( - Состояние задания потока данных / Планирование и параметры

...