Ошибка: «java.lang.RuntimeException: не удается получить значение для location1» - PullRequest
0 голосов
/ 13 декабря 2018

Ниже приводится сообщение об ошибке, сгенерированное при попытке запустить задание dataflow.Более конкретно, я выполняю задание потока данных, используя шаблон, который создается путем выполнения потока в dataprep.

Команда, которую я запускаю в оболочке gcloud:

gcloud dataflow jobs run_template       
--gcs-location gs://[bucket]/templates/sample_template        
--parameters   
   inputLocations=gs://[bucket]/input/input_file.csv,   
   outputLocations=gs://[bucket]/output/my _output  
  • Сообщение об ошибке:

"java.lang.RuntimeException: Невозможно получить значение для location1"

  • Подробное описание ошибки:

"Вызвано: com.fasterxml.jackson.core.JsonParseException: нераспознанный токен «gs»: ожидал («истина», «ложь» или «ноль») в [Source: (String) "gs: // [bucket] /input_file.csv "]

Итак, я хотел бы знать правильную команду для запуска задания?

Примечание :
Когда я использовалinputFile и outputFile в --parameters, как упомянуто в документации ниже, это выдало мне ошибку. Поэтому вместо этого я использовал inputLocations и outputLocations, которые устранили ошибку.
https://cloud.google.com/dataflow/docs/guides/templates/executing-templates#example-1-custom-template-batch-job_1

1 Ответ

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

Флаг --parameters относится к словарному типу, вы не должны допускать пробелов между параметрами, разделенными запятыми.Также inputLocations/outputLocations параметры принимает объекты.Вам нужно будет заключить объекты в фигурные скобки {}, добавить к ним поля "" и экранировать запятыми.Довольно сложно заставить это работать на CLI.Вы можете найти ссылки в этой документации , но полное объяснение того, как заставить это работать, было предоставлено в этом стеке потока ответ .

...