Я новичок в таблице Databricks Delta Live. У меня есть небольшие сомнения, и мне нужна ваша помощь, чтобы понять концепцию, стоящую за этим. Я не могу продолжать без этого.
У меня есть файл в контейнере озера данных Azure, и я знаю, что мне нужно указать путь в разделе «cloud_files», чтобы дельта-таблица live могла считывать файлы из этой папки и отображать их. Но я сомневаюсь, что если я укажу только путь, как мне указать имя учетной записи хранения и имя контейнера? Кроме того, нужно ли мне предоставлять ключ доступа для безопасного чтения данных?
Я думаю, что я что-то упускаю, я просмотрел различные статьи и демонстрационные видеоролики Youtube, и везде они просто упоминают путь, но не говорят мне, как настроить путь.
Пожалуйста, помогите мне понять эту концепцию.
Спасибо.
Это мой код для таблицы Delta Live:
CREATE LIVE TABLE customers_raw
COMMENTS "This is raw table"
AS
SELECT *
FROM cloud_files("/raw_data/customers.csv", "csv")
Сначала следует подключить объектное облачное хранилище к папке DBFS /mnt (learn.microsoft.com/en-us/azure/databricks/dbfs/mounts ). Затем вы можете получить к нему доступ, как вы пытались.
@partlov Маунты больше не рекомендуются
@AlexOtt спасибо, я этого не заметил. Я вижу, что он устарел на странице документации для Azure, но глядя на документацию AWS, я вижу только, что он не работает с каталогом Unity, но не могу найти такое же сообщение об устаревании, как в документе Azure.
learn.microsoft.com/en-us/azure/databricks/external-data/…
Вам нужно указать полный URL для этой папки, например, abfss://<container>@<storage>.dfs.core.windows.net/raw_data/customers.csv
. В противном случае, если вы укажете его /raw_data/customers.csv
, он будет считать его папкой на DBFS и не сможет. Обратите внимание, что в этом случае вам нужно будет настроить соответствующие свойства Spark, чтобы DLT мог получить доступ к данным — вы можете найти это в следующем ответе.
Один вопрос относительно удобства использования, если это, например, место, где хранится некоторая дельта-таблица, и мы не используем монтирование, а этот подход, как будет работать доступ, если люди будут запрашивать эти данные, скажем, через хранилище SQL? Смогут ли они получить доступ к данным?
Если в конфигурации DLT указано target
, то DLT создаст записи в хранилище метаданных для таблиц, указывающих на это местоположение, чтобы люди могли просто работать с этими таблицами по их именам. Вам просто нужно убедиться, что ваши хранилища SQL правильно настроены для доступа к этому месту хранения.
привет @Atanu Chatterjee, предоставьте пример кода. что ты пробовал.