Я использую Azure Databricks 4.3 (включая Apache Spark 2.3.1, Scala 2.11).
Я скопировал CSV
файл из хранилища BLOB-объектов Azure в кластер Databricks, используя dbutils.fs.cp
на диск, добавив file:
до абсолюта local_path
:
copy_to = "file:" + local_path
dbutils.fs.cp(blob_storage_path, copy_to)
Когда я тогда пытаюсь прочитать файл по тому же пути с добавлением file:
впереди:
csv_spark_df = sqlContext.read.format('csv').options(header='true', inferSchema='true').load(copy_to)
Я получаюсообщение об ошибке, указывающее, что данный путь не существует:
java.io.FileNotFoundException: File file:/<local_path>
Когда я монтирую контейнер хранилища BLOB-объектов Azure, как описано ниже, тогда я могу правильно прочитать файл с помощью Spark, используя тот же фрагмент кода выше, используяабсолютный local_path
файла в смонтированном каталоге:
https://docs.databricks.com/spark/latest/data-sources/azure/azure-storage.html#mount-azure-blob-storage-containers-with-dbfs
Можно ли вообще прочитать файл CSV
, который был скопирован из хранилища BLOB-объектов Azure, илирешение, использующее установку контейнера хранилища BLOB-объектов Azure, в любом случае предпочтительнее?