Я работаю над кодом на моей локальной машине на pycharm. Выполнение выполняется в кластере блоков данных, в то время как данные хранятся в azure datalake.
В принципе, мне нужно перечислить файлы в каталоге azure datalake и затем применить некоторые логи чтения c для файлов, для этого я использую приведенный ниже код
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())
, приведенный выше код прекрасно работает на ноутбуках с базами данных, но когда я пытаюсь запустить тот же код через pycharm с помощью databricks-connect, я получаю следующее ошибка.
"Wrong FS expected: file:///....."
при некотором копании выясняется, что код ищет на моем локальном диске поиск "пути". У меня была похожая проблема с python библиотеками (os, pathlib)
У меня нет проблем с запуском другого кода в кластере.
Нужна помощь в выяснении, как выполнить это так, чтобы искать данные, а не мою локальную машину.
Кроме того, клиент azure -datalake-store не доступен из-за определенных ограничений.