0

我使用 Azure ML python API 创建了一个表格数据集。有问题的数据是一组 parquet 文件(约 10K parquet 文件,每个大小为 330 KB),位于 Azure Data Lake Gen 2 中,分布在多个分区中。当我尝试使用 API 加载数据集时TabularDataset.to_pandas_dataframe(),如果数据集中包含空的镶木地板文件,它将永远继续(挂起)。如果表格数据集不包含那些空的 parquet 文件,则TabularDataset.to_pandas_dataframe()在几分钟内完成。

空镶木地板文件是指如果我使用 pandas (pd.read_parquet()) 读取单个镶木地板文件,则会导致空 DF (df.empty == True)。

我在处理提到的另一个问题时发现了根本原因[here][1]

TabularDataset.to_pandas_dataframe()我的问题是,即使有空的镶木地板文件,如何才能工作?

4

2 回答 2

1

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

但是,我无法重现对多个文件的挂起,因此,如果您能提供更多信息,那就太好了。

于 2022-03-04T22:25:24.770 回答
0

您可以使用该on_error='null'参数来处理空值。

您的声明将如下所示:

TabularDataset.to_pandas_dataframe(on_error='null', out_of_range_datetime='null')

或者,您可以在将文件传递给to_pandas_dataframe方法之前检查文件的大小。如果文件大小为,请根据您的要求0使用 python 关键字将一些示例数据写入其中或忽略该文件。open

于 2022-02-14T06:55:24.403 回答