Как я могу скачать файл из хранилища BLOB-объектов - PullRequest
0 голосов
/ 14 октября 2019

У меня есть файл CSV в моем хранилище BLOB-объектов. Я хочу скачать файл. Странно то, что я не могу увидеть файл. Файл CSV создается заданием Python и преобразуется в фрейм данных Scala.

Когда я запускаю эти 2 строки кода:

# convert python df to spark df and export the spark df
spark_df = spark.createDataFrame(df)
## Write Frame out as Table
spark_df.write.csv("dbfs:/rawdata/corp/AAA.csv")

Я получаю эту ошибку:

org.apache.spark.sql.AnalysisException: path dbfs:/rawdata/corp/AAA.csv already exists.;

Странно то, что я не вижу файлкогда я использую Azure Storage Explorer. Видимо файл существует, хотя я его не вижу. Как я могу скачать этот файл CSV? Я хотел бы использовать блоки данных, желательно или, может быть, что-то еще, если кто-то здесь может предложить лучший вариант.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 14 октября 2019

Как насчет использования хранилища BLOB-объектов sdk и следующей команды

# Download as a file
block_blob_service.get_blob_to_path(container_name, blob_name, local_file_name)
1 голос
/ 24 октября 2019

Примечание: С помощью графического интерфейса пользователя вы можете загрузить полные результаты (максимум 1 миллион строк).

enter image description here

Загрузить полностьюрезультатов (более 1 миллиона), сначала сохраните файл в dbfs, а затем скопируйте файл на локальный компьютер, используя Databricks cli, как показано ниже.

dbfs cp "dbfs: /FileStore/tables/AA.csv"" A: \ AzureAnalytics "

Ссылка: Файловая система блоков данных

Интерфейс командной строки DBFS (CLI) использует интерфейс командной строки (CLI)DBFS API предоставляет простой в использовании интерфейс командной строки для DBFS. Используя этот клиент, вы можете взаимодействовать с DBFS, используя команды, аналогичные тем, которые вы используете в командной строке Unix. Например:

# List files in DBFS
dbfs ls
# Put local file ./apple.txt to dbfs:/apple.txt
dbfs cp ./apple.txt dbfs:/apple.txt
# Get dbfs:/apple.txt and save to local file ./apple.txt
dbfs cp dbfs:/apple.txt ./apple.txt
# Recursively put local dir ./banana to dbfs:/banana
dbfs cp -r ./banana dbfs:/banana

Ссылка: Установка и настройка интерфейса данных Azure CLI

Надеюсь, это поможет.

1 голос
/ 15 октября 2019

Я нашел другое хорошее решение здесь.

https://docs.databricks.com/notebooks/notebooks-use.html

enter image description here

Непосредственно перед этим шагом отобразите содержимоекадр данных, запустите эту строку кода.

display(df)
...