Блоки данных: Загрузить файл dbfs:/FileStore на мой локальный компьютер?

Я использую saveAsTextFile() для хранения результатов работы Spark в папке dbfs:/FileStore/my_result.

Я могу получить доступ к различным файлам "part-xxxxx" с помощью веб-браузера, но я хотел бы автоматизировать процесс загрузки всех файлов на мой локальный компьютер.

Я пытался использовать cURL, но не могу найти команду RestAPI для загрузки файла dbfs: / FileStore.

Вопрос: Как я могу загрузить файл dbfs: / FileStore на мою локальную машину?

Я использую Databricks Community Edition, чтобы преподавать модуль бакалавриата в Big Data Analytics в колледже. У меня установлена ​​Windows 7 на моей локальной машине. Я проверил, что файлы cURL и _netrc правильно установлены и настроены, поскольку мне удается успешно выполнить некоторые команды, предоставляемые RestAPI.

Заранее большое спасибо за вашу помощь! С наилучшими пожеланиями, Начо

6 ответов

Существует несколько вариантов загрузки файлов FileStore на локальный компьютер.

Более простые варианты:

  • Установите CLI Databricks, настройте его с вашими учетными данными Databricks и используйте CLI dbfs cp команда. Например: dbfs cp dbfs:/FileStore/test.txt ./test.txt, Если вы хотите скачать всю папку с файлами, вы можете использовать dbfs cp -r,
  • От браузера, вошедшего в Databricks, перейдите к https://<YOUR_DATABRICKS_INSTANCE_NAME>.cloud.databricks.com/files/, Если вы используете Databricks Community Edition, то вам может потребоваться использовать несколько иной путь. Этот метод загрузки более подробно описан в документации FileStore.

Расширенные настройки:

  • Используйте DBFS REST API. Вы можете получить доступ к содержимому файла, используя read Вызов API. Для загрузки большого файла может потребоваться read вызовы для доступа к частям полного файла.

Самым простым способом для меня было использовать метод отображения.

Ссылка: https://www.learntospark.com/2021/04/download-data-from-dbfs-to-local.html

Самый быстрый способ загрузить небольшой файл из версии сообщества Databricks DBFS:

Когда вы посещаете версию сообщества Databricks, ссылка выглядит так: https://community.cloud.databricks.com/?o=<unique ID>

Загрузите свой файл в папку FileStore > tables. Тогда ссылка для скачивания будет выглядеть так: https://community.cloud.databricks.com/files/tables/sample_file.csv?o=<your unique ID>

Последнее тестирование: 17 августа 2021 г.

Используя браузер, вы можете получить доступ к отдельному файлу в хранилище файлов. Вы не можете получить доступ к каталогам или даже перечислить их. Итак, сначала вам нужно поместить какой-нибудь файл в хранилище файлов. Если у вас есть файл "example.txt" в "/ FileStore / example_directory/", вы можете загрузить его по следующему URL-адресу:

https://community.cloud.databricks.com/files/example_directory/example.txt?o=

В этом URL-адресе "###" необходимо заменить длинным числом, которое вы найдете в конце URL-адреса вашей версии сообщества (после входа в учетную запись версии сообщества).

Добавить комментарий · Поделиться

Вы можете использовать ссылку, как показано ниже, и у меня она отлично сработала. Даже большие файлы мы тоже скачиваем. Вы можете использовать ссылку, как в этом примере ниже:

https://northeurope.azuredatabricks.net/files/<exact_file_path_with_folder(if_any)>?o=<your_unique_id>

например https://northeurope.azuredatabricks.net/files/shared_uploads/mydocuments/data.json&amp;gt;?o=89898989899

Я предполагаю, что вы уже настроили интерфейс командной строки Databricks и запустили его.

Примечание. – Мы можем использовать либо «databricks fs», либо «dbfs» как взаимозаменяемые.

Работа с файлом блоков данных

  1. Скопируйте файл из блоков данных на локальный компьютер.

    dbfs cp <путь к блокам данных> <путь к локальному репозиторию>

    Пример :-dbfs cp dbfs:/FileStore/PricingData/Output.csv C:\Users\Waqar\Desktop\Output

  2. Скопировать файл с локального компьютера в блоки данных

    dbfs cp <путь к файлу на локальном компьютере с именем файла> <путь к папке databricks>

    Пример :-dbfs cp C:\Users\Waqar\Desktop\Output\data.csv dbfs:/FileStore/PricingData

Работа с каталогом блоков данных

  1. Скопируйте каталог из блоков данных на свой локальный компьютер.

    dbfs cp -r <путь к каталогу databricks> <путь к локальному каталогу>

    Пример :-dbfs cp -r dbfs:/FileStore/PricingData C:\Users\Waqar\Desktop\Output

  2. Скопировать каталог с локального компьютера в блоки данных

    dbfs cp -r <путь к каталогу локального компьютера> <путь к каталогу блоков данных>

    Пример :-dbfs cp -r C:\Users\Waqar\Desktop\Output dbfs:/FileStore/PricingData

Примечание. В каждом случае вам придется изменить путь к блокам данных. возможно, тебе придется измениться

/dfbs/FileStore/PricingData в dbfs:/FileStore/PricingData и так далее....

Другие вопросы по тегам