我正在pycharm的本地计算机上处理一些代码。执行是在数据块集群上完成的,而数据则存储在蔚蓝的数据湖上。
基本上,我需要在azure datalake目录中列出文件,然后对文件应用一些读取逻辑,为此,我正在使用下面的代码
sc = spark.sparkContext
hadoop = sc._jvm.org.apache.hadoop
fs = hadoop.fs.FileSystem
conf = hadoop.conf.Configuration()
path = hadoop.fs.Path('adl://<Account>.azuredatalakestore.net/<path>')
for f in fs.get(conf).listStatus(path):
print(f.getPath(), f.getLen())
上面的代码在databricks笔记本上运行正常,但是当我尝试使用databricks-connect通过pycharm运行相同的代码时,出现以下错误。
"Wrong FS expected: file:///....."
经过一番挖掘后发现,该代码正在我的本地驱动器中查找“路径”。我在python库(操作系统,pathlib)中遇到了类似的问题]
我在集群上运行其他代码没有问题。
需要帮助来弄清楚如何运行它,以便搜索数据湖而不是我的本地计算机。
此外,由于某些限制,azure-datalake-store客户端也不可选。