Can';不要对Azure Data Lake Gen2文件使用通配符

Can';不要对Azure Data Lake Gen2文件使用通配符,azure,machine-learning,azure-machine-learning-service,Azure,Machine Learning,Azure Machine Learning Service,我能够将我的Data Lake Gen2存储帐户与我的Azure ML工作区正确连接。当试图从数据存储中读取一组特定的拼花地板文件时,这将花费很长时间,并且不会加载它 代码如下所示: from azureml.core import Workspace, Datastore, Dataset from azureml.data.datapath import DataPath ws = Workspace(subscription_id, resource_group, workspace_n

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

代码如下所示:

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()
每个拼花地板文件的大小约为300kB。文件夹中有200个,是通用的,是直接从数据库中取出的。奇怪的是,当我试图从完全相同的文件夹中读取一个拼花地板文件时,它运行平稳

第二,其他包含少于20个文件的文件夹也会顺利运行,所以我排除了这是由于某些连接问题造成的可能性。更奇怪的是,我尝试了如下通配符:

# files_path = 'Brazil/CommandCenter/Invoices/dt_folder=2020-05-11/part-00000-*.parquet'
理论上,这只会将我指向
00000
文件,但它也不会加载。太奇怪了

为了克服这个问题,我尝试用Dask通过ADLFS连接到Data Lake,它就可以工作了。我知道这是处理“大型”数据集/文件的一个变通方法,但是直接从Dataset类方法中执行它会非常好

有什么想法吗


编辑:输入错误

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

pip安装--升级azureml-dataprep-azureml-dataprep-rslex


正如微软的一些人告诉我的那样,这将在下一次azureml.core更新中得到修复。

1)您使用的SDK版本是什么?2) 你能提供你收到的错误的跟踪吗?@Anderswanson SDK 1.17.0版。没有特别的错误。它只是在Jupyter[*]上永远停留在那里,在进一步调查之后,几乎可以肯定这个问题与目录中的“=”字符串有关。