Мне нужна ясность в отношении Databricks DBFS.
Проще говоря, что это такое, какова его цель и что он позволяет мне делать?
Документация по блокам данных говорит об этом.
«Файлы в DBFS сохраняются в хранилище BLOB-объектов Azure, поэтому вы не потеряете данные даже после закрытия кластера».
Любое понимание будет полезно, не удалось найти документацию, в которой подробно рассказывается об этом с точки зрения архитектуры и использования.


У меня есть опыт работы с DBFS, это отличное хранилище, в котором хранятся данные, которые вы можете загрузить со своего локального компьютера, используя CLI СУБД! Настройка интерфейса командной строки немного сложнее, но когда вы справитесь, вы можете легко перемещать целые папки в этой среде (помните об использовании -overwrite!)
С помощью Scala вы можете легко получить данные, хранящиеся в этом хранилище, с помощью такого кода:
val df1 = spark
.read
.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("dbfs:/foldername/test.csv")
.select(some_column_name)
Или прочитайте всю папку, чтобы обработать все доступные файлы csv:
val df1 = spark
.read
.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load("dbfs:/foldername/*.csv")
.select(some_column_name)
Я думаю, что это легко использовать и учиться, я надеюсь, что вы найдете эту информацию полезной!
Файловая система Databricks (DBFS) — это распределенная файловая система, смонтированная в рабочей области Databricks и доступная в кластерах Databricks.
DBFS — это абстракция поверх масштабируемого объектного хранилища, предлагающая следующие преимущества:
1) Позволяет монтировать объекты хранения, чтобы вы могли беспрепятственно получать доступ к данным, не требуя учетных данных.
2) Позволяет взаимодействовать с хранилищем объектов, используя семантику каталогов и файлов вместо URL-адресов хранилища.
Сохраняет файлы в хранилище объектов (Blob), поэтому вы не потеряете данные после закрытия кластера.
Ссылка ниже поможет вам лучше понять команды утилит Databricks: ссылка на файловую систему databricks
Несколько моментов в дополнение к другим ответам, о которых стоит упомянуть:
Насколько я знаю, вы не платите за хранение, связанное с DBFS. Вместо этого вы платите почасовую плату за выполнение заданий на DBX.
Несмотря на то, что он хранит данные в blob/s3 в облаке, вы не можете получить доступ к этому хранилищу напрямую. Это означает, что для доступа к этому хранилищу вам необходимо использовать API-интерфейсы DBX или cli.
Что приводит к третьему и очевидному моменту: использование DBFS более тесно свяжет ваши искровые приложения с DBX. Что может быть, а может и не быть тем, что вы хотите сделать.
Хорошо, что вы упомянули третий пункт. Это важно, но иногда люди воспринимают это как должное при использовании платформы databricks.
В Azure вы платите за хранилище DBFS. Если вы перейдете в группу управляемых ресурсов -> Анализ затрат -> добавить фильтр для типа ресурса: учетная запись хранения, вы сможете его увидеть.
Спасибо за это, Ева, это действительно полезно, ценю время и усилия, которые вы потратили, чтобы уточнить это.