gpt4 book ai didi

azure - 无法对 Azure Data Lake Gen2 文件使用通配符

转载 作者:行者123 更新时间:2023-12-03 02:32:18 25 4
gpt4 key购买 nike

我能够将我的 Data Lake Gen2 存储帐户与我的 Azure ML 工作区正确连接。当尝试从数据存储区读取一组特定的 Parquet 文件时,它将花费很长时间并且不会加载它。

代码如下:

from azureml.core import Workspace, Datastore, Dataset
from azureml.data.datapath import DataPath

ws = Workspace(subscription_id, resource_group, workspace_name)

datastore = Datastore.get(ws, 'my-datastore')

files_path = 'Brazil/CommandCenter/Invoices/dt_folder=2020-05-11/*.parquet'

dataset = Dataset.Tabular.from_parquet_files(path=[DataPath(datastore, files_path)], validate=False)
df = dataset.take(1000)

df.to_pandas_dataframe()

每个 Parquet 文件大约有。 300kB。文件夹中有 200 个 - 通用且直接来自 Databricks。奇怪的是,当我尝试从完全相同的文件夹中读取一个 Parquet 文件时,它运行顺利。

其次,包含少于 20 个文件的其他文件夹也将顺利运行,因此我排除了由于某些连接问题而导致的可能性。更奇怪的是,我尝试了如下通配符:

# files_path = 'Brazil/CommandCenter/Invoices/dt_folder=2020-05-11/part-00000-*.parquet'

理论上这只会将我定向到 00000 文件,但它也不会加载。 super 奇怪。

为了尝试克服这个问题,我尝试使用 Dask 通过 ADLFS 连接到数据湖,并且它正常工作。我知道这可以是处理“大型”数据集/文件的解决方法,但直接从 Dataset 类方法执行此操作会非常好。

有什么想法吗?

编辑:打字错误

最佳答案

如果您使用以下命令更新某些软件包,则可以解决该问题:

pip install --upgrade azureml-dataprep azureml-dataprep-rslex

正如 Microsoft 的一些人告诉我的那样,这个问题将在下一个 azureml.core 更新中得到修复。

关于azure - 无法对 Azure Data Lake Gen2 文件使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64599174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com