Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как подключить данные к новой рабочей области Azure Databricks из Azure Data Lake Storage. Вы узнаете, как безопасно получить доступ к исходным данным в расположении облачного хранилища объектов, соответствующему тому каталога Unity (рекомендуется) или внешнему расположению каталога Unity. Затем вы узнаете, как постепенно принимать данные в таблицу, управляемую каталогом Unity, с использованием Auto Loader и декларативных конвейеров Lakeflow.
Примечание.
Сведения о подключении данных в Databricks SQL вместо записной книжки см. в статье "Использование потоковых таблиц в Databricks SQL".
Перед началом
Если вы не являетесь администратором, в этой статье предполагается, что администратор предоставил вам следующее:
Доступ к рабочей области Azure Databricks, где включен каталог Unity. Дополнительные сведения см. в статье "Начало работы с каталогом Unity".
Разрешение
READ VOLUME
для внешнего тома или разрешениеREAD FILES
на внешнее расположение каталога Unity, соответствующее расположению облачного хранилища, содержащему ваши исходные данные. Дополнительные сведения см. в статье "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".Путь к исходным данным.
Пример пути тома:
/Volumes/<catalog>/<schema>/<volume>/<path>/<folder>
Пример пути к внешнему расположению:
abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>
Привилегии
USE SCHEMA
иCREATE TABLE
схемы, в которую требуется загрузить данные.Разрешение на создание кластера или доступ к политике кластера , которая определяет кластер конвейера (
cluster_type
для поля заданоdlt
значение ).Если путь к вашим исходным данным является путем тома, кластер должен использовать Databricks Runtime версии 13.3 LTS или более поздней.
Внимание
Если у вас есть вопросы об этих предварительных требованиях, обратитесь к администратору учетной записи.
Шаг 1. Создание кластера
Чтобы создать кластер, сделайте следующее:
- Войдите в рабочую область Azure Databricks.
- На боковой панели нажмите кнопку "Создать>кластер".
- В пользовательском интерфейсе кластеров укажите уникальное имя кластера.
- Если путь к исходным данным — это путь тома, для версии среды выполнения Databricks Runtime выберите 13.2 или выше.
- Выберите Create cluster (Создать кластер).
Шаг 2. Создание записной книжки для исследования данных
В этом разделе описывается создание записной книжки для изучения данных, чтобы вы могли понять данные перед созданием конвейера данных.
На боковой панели нажмите +Создать>записную книжку.
Записная книжка автоматически присоединяется к последнему используемому кластеру (в этом случае кластер, созданный на шаге 1. Создание кластера).
Введите имя записной книжки.
Нажмите кнопку языка и выберите
Python
илиSQL
в раскрывающемся меню.Python
выбран по умолчанию.Чтобы подтвердить доступ к исходным данным в ADLS, вставьте следующий код в ячейку записной книжки, щелкните
, а затем щелкните запустить ячейку.
SQL
LIST '<path-to-source-data>'
Питон
%fs ls '<path-to-source-data>'
Замените
<path-to-source-data>
путь к каталогу, содержаму данные.Отображается содержимое каталога, содержащего набор данных.
Чтобы просмотреть примеры записей и лучше понять содержимое и формат каждой из них, вставьте следующий текст в ячейку блокнота, щелкните
, а затем нажмите Выполнить ячейку.
SQL
SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
Питон
spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
Замените следующие значения:
-
<file-format>
: поддерживаемый формат файла. Смотрите Параметры формата файла. -
<path to source data>
: Путь к файлу в каталоге, который содержит данные.
При этом отображаются первые десять записей из указанного файла.
-
Шаг 3. Прием необработанных данных
Чтобы принять необработанные данные, сделайте следующее:
На боковой панели нажмите Новую>записную книжку.
Записная книжка автоматически присоединяется к последнему используемому кластеру (в данном случае кластер, созданный ранее в этой статье).
Введите имя записной книжки.
Нажмите кнопку языка и выберите
Python
илиSQL
в раскрывающемся меню.Python
выбран по умолчанию.Вставьте следующий код в ячейку записной книжки:
SQL
CREATE OR REFRESH STREAMING TABLE <table-name> AS SELECT * FROM STREAM read_files( '<path-to-source-data>', format => '<file-format>' )
Питон
@dlt.table(table_properties={'quality': 'bronze'}) def <table-name>(): return ( spark.readStream.format('cloudFiles') .option('cloudFiles.format', '<file-format>') .load(f'{<path-to-source-data>}') )
Замените следующие значения:
-
<table-name>
: имя таблицы, которая будет содержать загруженные записи. -
<path-to-source-data>
: путь к исходным данным. -
<file-format>
: поддерживаемый формат файла. Смотрите Параметры формата файла.
-
Примечание.
Lakeflow Declarative Pipelines не предназначены для интерактивного запуска в ячейках ноутбука. Выполнение ячейки, содержащей синтаксис декларативного конвейера Lakeflow в записной книжке, возвращает сообщение о том, является ли запрос синтаксически допустимым, но не выполняет логику запроса. На следующем шаге описывается, как создать конвейер из журнала загрузки данных, который вы только что создали.
Шаг 4. Создание и публикация конвейера
Чтобы создать конвейер и опубликовать его в каталоге Unity, сделайте следующее:
- В рабочей области щелкните на
Задания и конвейеры на боковой панели.
- В разделе "Создать" щелкните конвейер ETL.
- Введите имя конвейера.
- Для режима Pipelineвыберите Запущено.
- Для исходного кодавыберите записную книжку, содержащую исходный код конвейера.
- Для пункта назначения выберите Unity Catalog.
- Чтобы убедиться, что таблица управляется каталогом Unity, и любой пользователь с доступом к родительской схеме может запрашивать ее, выберите каталог и целевую схему из раскрывающихся списков.
- Если у вас нет разрешения на создание кластера, выберите политику кластера , которая поддерживает Декларативные конвейеры Lakeflow из раскрывающегося списка.
- Для Advanced установите канал на предпросмотр.
- Примите все остальные значения по умолчанию и нажмите кнопку "Создать".
Шаг 5. Планирование конвейера
Чтобы запланировать конвейер, сделайте следующее:
- В рабочей области щелкните на
Задания и конвейеры на боковой панели.
- Нажмите на название потока, который вы хотите запланировать.
- Нажмите Запланировать>Добавить расписание.
- В поле "Имя задания" введите имя задания.
- Установите расписание на Запланировано.
- Укажите период, время начала и часовой пояс.
- Настройте один или несколько адресов электронной почты, на которые будут отправляться оповещения о запуске конвейера и об его успешном или неуспешном выполнении.
- Нажмите кнопку Создать.
Следующие шаги
- Предоставьте пользователям доступ к новой таблице. Дополнительные сведения см. в разделе привилегии каталога Unity и защищаемые объекты.
- Теперь пользователи с доступом к новой таблице могут выполнять запросы к таблице в ноутбуке или использовать редактор Databricks SQL.