Подключение ADLS 2-го поколения для распределения по уровням HDFS в кластере больших данных
В следующих разделах приводится пример настройки распределения по уровням HDFS для источника данных Azure Data Lake Storage 2-го поколения.
Важно!
Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.
Необходимые компоненты
Загрузка данных в Azure Data Lake служба хранилища
В следующем разделе описано, как настроить Azure Data Lake Storage 2-го поколения для тестирования распределения по уровням HDFS. Если у вас уже есть данные, хранящиеся в Azure Data Lake Storage, можно пропустить этот раздел, чтобы использовать собственные данные.
Создайте учетную запись хранения с возможностями Data Lake Storage 2-го поколения.
Создайте файловую систему в этой учетной записи хранения для своих данных.
Отправьте файл CSV или Parquet в этот контейнер. Это внешние данные HDFS, которые будут подключены к HDFS в кластере больших данных.
Учетные данные для подключения
Использование учетных данных OAuth для подключения
Чтобы использовать учетные данные OAuth для подключения, необходимо выполнить следующие действия:
Перейдите на портал Azure.
Перейдите к идентификатору Microsoft Entra. Эта служба должна отображаться в левой панели навигации.
Выберите Регистрация приложений в меню ресурсов и создайте новую регистрацию.
Создайте веб-приложение и следуйте инструкциям мастера. Помните имя приложения, создаваемого на этом шаге. Его потребуется добавить в учетную запись ADLS в качестве полномочного пользователя. Также обратите внимание на идентификатор клиента приложения в обзоре при выборе приложения.
После создания веб-приложения перейдите к секретам сертификатов и выберите новый секрет клиента. Выберите длительность ключа. Используйте команду Add для сохранения секрета.
Вернитесь на страницу "Регистрация приложений" и нажмите кнопку "Конечные точки", которая находится вверху. Запишите URL-адрес конечной точки токена OAuth (v2)
Теперь вы должны располагать следующими компонентами для OAuth:
- идентификатором клиента приложения для веб-приложения;
- секретом клиента;
- конечной точкой маркера.
Добавление субъекта-службы в вашу учетную запись ADLS
- Снова перейдите на портал, перейдите в файловую систему своей учетной записи хранения ADLS и выберите в меню слева пункт "Управление доступом (IAM)".
- Выберите "Добавить назначение ролей".
- Выберите роль "Участник данных BLOB-объектов хранилища".
- Найдите имя, созданное выше (обратите внимание, что оно не отображается в списке, но будет найдено при поиске по полному имени).
- Сохраните роль.
Подождите 5–10 минут перед использованием учетных данных для подключения.
Установка переменной среды для учетных данных OAuth
Откройте командную строку на клиентском компьютере, который может получать доступ к кластеру больших данных. Задайте переменную среды в следующем формате. Учетные данные должны быть в виде списка с разделителями-запятыми. В Windows используется команда "set". В Linux следует использовать команду "export".
Обратите внимание, что при вводе учетных данных необходимо удалить все разрывы строк и пробелы между запятыми (","). Формат, который используется ниже, выбран только для удобства чтения.
set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
fs.azure.account.oauth2.client.endpoint=[token endpoint],
fs.azure.account.oauth2.client.id=[Application client ID],
fs.azure.account.oauth2.client.secret=[client secret]
Использование ключа доступа для подключения
Можно также подключиться с помощью ключей доступа, которые можно получить для своей учетной записи ADLS на портале Azure.
Совет
Дополнительные сведения о том, как найти ключ доступа (<storage-account-access-key>
) для своей учетной записи хранения, см. в разделе Просмотр строки подключения и ключей учетной записи.
Установка переменной среды для учетных данных ключей доступа
Откройте командную строку на клиентском компьютере, который может получать доступ к кластеру больших данных.
Откройте командную строку на клиентском компьютере, который может получать доступ к кластеру больших данных. Задайте переменную среды в следующем формате. Учетные данные нужно задавать в виде списка с разделителями-запятыми. В Windows используется команда "set". В Linux следует использовать команду "export".
Обратите внимание, что при вводе учетных данных необходимо удалить все разрывы строк и пробелы между запятыми (","). Формат, который используется ниже, выбран только для удобства чтения.
set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>
Подключение удаленного хранилища HDFS
Теперь, когда вы задали переменную среды MOUNT_CREDENTIALS для ключей доступа или с помощью OAuth, можно приступать к подключению. Чтобы подключить удаленное хранилище HDFS в Azure Data Lake к локальному хранилищу HDFS в кластере больших данных, выполните указанные ниже действия.
Используйте kubectl для определения IP-адреса службы конечной точки controller-svc-external в кластере больших данных. Найдите параметр External-IP.
kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
Войдите в azdata, используя внешний IP-адрес конечной точки контроллера, а также имя и пароль пользователя кластера:
azdata login -e https://<IP-of-controller-svc-external>:30080
Задайте переменную среды MOUNT_CREDENTIALS (для получения инструкций прокрутите вверх).
Подключите удаленное хранилище HDFS в Azure с помощью команды azdata bdc hdfs mount create. Замените значения заполнителей, после чего выполните следующую команду:
azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
Примечание.
Команда mount create выполняется асинхронной. Сейчас сообщения об успешном подключении не реализованы. Чтобы проверить состояние подключений, обратитесь к разделу status.
Если подключение выполнено успешно, вы сможете запрашивать данные HDFS и выполнять задания Spark для их обработки. Данные для вашего кластера больших данных будут отображаться в HDFS в месте, которое задается атрибутом --mount-path
.
Получение состояния подключений
Чтобы просмотреть состояние всех подключений в вашем кластере больших данных, выполните следующую команду:
azdata bdc hdfs mount status
Чтобы просмотреть состояние подключения с заданным путем в HDFS, выполните следующую команду:
azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>
Обновление подключения
В следующем примере выполняется обновление подключения. Это обновление также очистит и кэш подключения.
azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>
Удаление подключения
Чтобы удалить подключение, выполните команду azdata bdc hdfs mount delete и укажите путь к подключению в HDFS:
azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>
Следующие шаги
Дополнительные сведения о Кластеры больших данных SQL Server 2019 см. в Кластеры больших данных sql Server 2019.