Google Dataflow: получить имя задания и время запуска из самого запущенного конвейера - PullRequest
0 голосов
/ 14 мая 2019

Я использую Google Dataflow с шаблонами: шаблон развертывается в GCS сервером CI (Continuous Integration), а позже для запуска пакетного задания из этого шаблона используется команда gcloud dataflow jobs run. Теперь в самом конвейере я хотел бы знать время начала этого точного конвейера (для использования в именах выходных файлов).

Возможен ли такой вид самоанализа в Beam / Dataflow? Можно ли получить название работы и время начала работы из самой работы ? (То есть в коде, который выполняется на виртуальных машинах потоком данных)?

Спасибо!

1 Ответ

2 голосов
/ 14 мая 2019

Это можно сделать, просто немного сложнее в текущей реализации функции шаблона.

Для идентификатора задания вы можете использовать следующий фрагмент кода: https://github.com/GoogleCloudPlatform/DataflowTemplates/blob/master/src/main/java/com/google/cloud/teleport/spanner/ExportTransform.java#L178

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

Для начала работы есть два способа: 1. Разберите идентификатор задания по тихоокеанскому стандартному времени. Но я согласен, что это немного хрупко. 2. Получить текущее время и передать в качестве побочного ввода. Вы можете перейти по ссылке выше.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...