Бөлісу құралы:


Подключение 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, можно пропустить этот раздел, чтобы использовать собственные данные.

  1. Создайте учетную запись хранения с возможностями Data Lake Storage 2-го поколения.

  2. Создайте файловую систему в этой учетной записи хранения для своих данных.

  3. Отправьте файл CSV или Parquet в этот контейнер. Это внешние данные HDFS, которые будут подключены к HDFS в кластере больших данных.

Учетные данные для подключения

Использование учетных данных OAuth для подключения

Чтобы использовать учетные данные OAuth для подключения, необходимо выполнить следующие действия:

  1. Перейдите на портал Azure.

  2. Перейдите к идентификатору Microsoft Entra. Эта служба должна отображаться в левой панели навигации.

  3. Выберите Регистрация приложений в меню ресурсов и создайте новую регистрацию.

  4. Создайте веб-приложение и следуйте инструкциям мастера. Помните имя приложения, создаваемого на этом шаге. Его потребуется добавить в учетную запись ADLS в качестве полномочного пользователя. Также обратите внимание на идентификатор клиента приложения в обзоре при выборе приложения.

  5. После создания веб-приложения перейдите к секретам сертификатов и выберите новый секрет клиента. Выберите длительность ключа. Используйте команду Add для сохранения секрета.

  6. Вернитесь на страницу "Регистрация приложений" и нажмите кнопку "Конечные точки", которая находится вверху. Запишите URL-адрес конечной точки токена OAuth (v2)

  7. Теперь вы должны располагать следующими компонентами для OAuth:

    • идентификатором клиента приложения для веб-приложения;
    • секретом клиента;
    • конечной точкой маркера.

Добавление субъекта-службы в вашу учетную запись ADLS

  1. Снова перейдите на портал, перейдите в файловую систему своей учетной записи хранения ADLS и выберите в меню слева пункт "Управление доступом (IAM)".
  2. Выберите "Добавить назначение ролей".
  3. Выберите роль "Участник данных BLOB-объектов хранилища".
  4. Найдите имя, созданное выше (обратите внимание, что оно не отображается в списке, но будет найдено при поиске по полному имени).
  5. Сохраните роль.

Подождите 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>) для своей учетной записи хранения, см. в разделе Просмотр строки подключения и ключей учетной записи.

Установка переменной среды для учетных данных ключей доступа

  1. Откройте командную строку на клиентском компьютере, который может получать доступ к кластеру больших данных.

  2. Откройте командную строку на клиентском компьютере, который может получать доступ к кластеру больших данных. Задайте переменную среды в следующем формате. Учетные данные нужно задавать в виде списка с разделителями-запятыми. В 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 в кластере больших данных, выполните указанные ниже действия.

  1. Используйте kubectl для определения IP-адреса службы конечной точки controller-svc-external в кластере больших данных. Найдите параметр External-IP.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Войдите в azdata, используя внешний IP-адрес конечной точки контроллера, а также имя и пароль пользователя кластера:

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Задайте переменную среды MOUNT_CREDENTIALS (для получения инструкций прокрутите вверх).

  4. Подключите удаленное хранилище 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.