如何从pyspark中的Azure datalake目录中获取 parquet 文件名列表?

uoifb46i  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(182)

我想从Pyspark的Azure数据库中的目录获取所有 parquet 文件名的列表。以“part-”开头的长文件名
如何实现这一点?

rkue9o1l

rkue9o1l1#

我复制了这个,得到了以下结果。
这些是我在ADLS容器中的 parquet 文件。

要首先在synapse中获取这些文件,请使用ADLS链接服务将ADLS挂载到synapse
挂载后,使用下面的代码获取以part开头的parquet文件。

files_list=mssparkutils.fs.ls("abfss://<container_name>@<storageaccount_name>.dfs.core.windows.net/")
print("Total files list : ",files_list)
flist=[]
for i in  range(0,len(files_list)):
    if(files_list[i].name.startswith('part')):
        flist.append(files_list[i].path)
print("\n  \n File paths that starts with part",flist)

我的执行情况供您参考:

如果你想读取所有的文件,你可以在文件路径中使用通配符路径part*,如下所示。

df=spark.read.parquet("abfss://<container_name><storageaccount_name>.dfs.core.windows.net/part*.parquet")

相关问题