GCP Dataflow API не оценивает функцию now / today (), вызванную в рецепте, записанном в dataprep - PullRequest
0 голосов
/ 25 сентября 2018

После запуска API dataflow.projects.locations.templates.launch (я тестировал также «создание» API) с шаблоном, сгенерированным ранее в dataprep, столбцом, сгенерированным с помощью функции today () (я также тестировал сейчас)() "функция), кажется, не оценивается во время выполнения задания.В сообщаемой дате всегда указывается день, когда шаблон был создан в первый раз.

Это правильное поведение?почему в столбце не указана дата запуска задания?

1 Ответ

0 голосов
/ 12 декабря 2018

Это действительно ожидаемое поведение, и это фактически задокументировано в разделе «Известные ограничения» на странице документации о запуске задания Dataprep в облачном потоке данных:

Шаблоны облачных потоков данных, сгенерированные из Cloud Dataprep заданием TRIFACTA , предназначены для использования в качестве статической копии задания, выполненного в данный момент времени.

  • Все относительныеФункции вычисляются на основе момента выполнения .Такие функции, как NOW () и TODAY, не пересчитываются при выполнении шаблона Cloud Dataflow.
  • Чтобы обновить выходные значения этих функций, перезапустите задание в Cloud Dataprep от TRIFACTAчерез пользовательский интерфейс или запланированную работу.Затем выполните задание шаблона Cloud Dataflow.

Итак, как предложено в приведенном выше фрагменте документации, чтобы получить текущее значение для функций TODAY() / NOW(), выпотребуется повторно запустить задание в Dataprep и выполнить шаблон.


СТОРОННОЕ ПРИМЕЧАНИЕ: Если вам интересно понять, почему это происходит, я рекомендую вам перейтичерез документацию по шаблонам потока данных , хотя вы можете воспринимать это как информативные данные, учитывая, что это не относится к шаблонам Dataprep (которые нельзя настроить).Такие функции, как TODAY() или NOW() должны передаваться в качестве параметра времени выполнения, учитывая, что значение будет изменяться при выполнении;для обеспечения возможности использования параметров времени выполнения Dataflow предлагает интерфейс ValueProvider.

...