0

我使用 Azure ML python API 创建了一个表格数据集。有问题的数据是一组 parquet 文件(约 10K parquet 文件,每个大小为 330 KB),位于 Azure Data Lake Gen 2 中,分布在多个分区中。当我为数据集触发“生成配置文件”操作时,它会在处理空镶木地板文件时引发以下错误,然后配置文件生成停止。

User program failed with ExecutionError: 
Error Code: ScriptExecution.StreamAccess.Validation
Validation Error Code: NotSupported
Validation Target: ParquetFile
Failed Step: 77866d0a-8243-4d3d-8bc6-599d466488dd
Error Message: ScriptExecutionException was caused by StreamAccessException.
  Failed to read Parquet file at: <my_blob_path>/20211217.parquet
    Current parquet file is not supported.
      Exception of type 'Thrift.Protocol.TProtocolException' was thrown.
| session_id=6be4db0b-bdc1-4dd6-b8a6-6e9466f7bc54

空的 parquet 文件是指如果我使用 pandas ( pd.read_parquet) 读取单个 parquet 文件,它会导致一个空的 DF (df.empty == True)。

任何避免此错误的建议将不胜感激。

4

2 回答 2

1

感谢您报告它。这是处理带有列但空行集的镶木地板文件的错误。这已经修复,将包含在下一个版本中。

于 2022-03-04T22:22:14.340 回答
0
Error Code: ScriptExecution.StreamAccess.Validation

上述错误是由于您无法访问 ADLS 造成的。

你可以创建 Azure App Identity 并分配对 ADLS 的读取访问权限。现在使用客户端 ID 和应用程序身份的秘密将 ADLS 注册为工作区中的数据存储。在这些步骤之后,您的代码将能够访问数据存储。

参考 - https://docs.microsoft.com/en-us/azure/machine-learning/how-to-network-security-overview#configure-a-datastore-to-use-managed-identity

于 2022-02-10T11:57:46.967 回答