Как запустить сценарий Python для результата, сгенерированного сценарием U-SQL, в конвейерах машинного обучения Azure? - PullRequest
1 голос
/ 10 июля 2019

Я хочу обработать большие таблицы, хранящиеся в хранилище озера данных Azure (Gen 1), сначала запустить на них сценарий U-SQL, затем сценарий Python и, наконец, вывести результат.

Концептуально это довольно просто:

  1. Запустите скрипт .usql для генерации промежуточных данных (две таблицы intermediate_1 и intermediate_2) из большого initial_table
  2. Запустить скрипт Python для промежуточных данных, чтобы получить окончательный результат final

Какими должны быть шаги конвейера машинного обучения Azure, чтобы сделать это?

Я думал, что следующий план сработает:

  1. Запустите запрос .usql для adla_compute, используя AdlaStep, как

    int_1 = PipelineData("intermediate_1", datastore=adls_datastore)
    int_2 = PipelineData("intermediate_2", datastore=adls_datastore)
    
    adla_step = AdlaStep(script_name='script.usql',
                         source_directory=sample_folder,
                         inputs=[initial_table],
                         outputs=[intermediate_1, intermediate_2],
                         compute_target=adla_compute)          
    
  2. Запуск шага Python для вычислительной цели aml_compute как

    python_step = PythonScriptStep(script_name="process.py",
                                   arguments=["--input1", intermediate_1, "--input2", intermediate_2, "--output", final],
                                   inputs=[intermediate_1, intermediate_2],
                                   outputs=[final],    
                                   compute_target=aml_compute, 
                                   source_directory=source_directory)
    

Это, однако, не удается на шаге Python с ошибкой вида

StepRun (process.py) Сводка выполнения

======================================
StepRun (process.py) Статус: не выполнено

Невозможно смонтировать хранилище данных mydatastore, поскольку оно не указывает ключ учетной записи хранения.

Я не совсем понимаю ошибку, сообщающую о mydatastore, имя которого связано со ссылкой на хранилище данных Azure Data Lake adls_datastore, для которой я выполняю запросы U-SQL.

Может ли кто-нибудь почувствовать запах, если я здесь что-то действительно не так делаю? Следует ли переместить промежуточные данные (intermediate_1 и intermediate_2) в учетную запись хранения , например, с DataTransferStep, перед PythonScriptStep?

...