我想处理存储在 Azure Data Lake Storage(第 1 代)中的大型表,首先在它们上运行 U-SQL 脚本,然后是 Python 脚本,最后输出结果。
从概念上讲,这非常简单:
- 运行 .usql 脚本以
intermediate_1
从intermediate_2
一个大的initial_table
- 在中间数据上运行 Python 脚本以生成最终结果
final
执行此操作的 Azure 机器学习管道步骤应该是什么?
我认为以下计划可行:
adla_compute
使用AdlaStep
like 在 a 上运行 .usql 查询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)
在计算目标上运行 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”的错误,该名称与adls_datastore
我运行 U-SQL 查询的 Azure Data Lake 数据存储引用相关联。
如果我在这里做错了什么,有人能闻到吗?我应该将中间数据(和intermediate_1
)intermediate_2
移动到存储帐户,例如DataTransferStep
在PythonScriptStep