Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описано, как создать кластер Apache Hadoop по запросу в Azure HDInsight с помощью фабрики данных Azure. Затем вы используете конвейеры данных в Фабрике данных Azure для запуска заданий Hive и удаления кластера. В конце этого руководства вы узнаете, как operationalize выполнить задание больших данных, где создание кластера, запуск задания и удаление кластера выполняются по расписанию.
В этом руководстве рассматриваются следующие задачи:
- Создание учетной записи хранилища Azure
- Общие сведения о действии фабрики данных Azure
- Создание фабрики данных с помощью портала Azure
- Создание связанных служб
- Создание конвейера
- Активация конвейера
- Мониторинг конвейера
- Проверка выходных данных
Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
Предпосылки
Модуль PowerShell Az установлен.
Представитель службы Microsoft Entra. После создания учетной записи службы не забудьте получить идентификатор приложения и ключ аутентификации, используя инструкции в связанной статье. Эти значения потребуются далее в этом руководстве. Кроме того, убедитесь, что служебный принципал является членом роли вкладчика подписки или группы ресурсов, в которой создается кластер. Инструкции по получению необходимых значений и назначению правильных ролей см. в документе Создание субъекта-службы Microsoft Entra.
Создание предварительных объектов Azure
В этом разделе описано, как создать различные объекты, которые будут использоваться для кластера HDInsight по запросу. Созданная учетная запись хранения будет содержать пример скрипта HiveQL, который используется для имитации примера задания Apache Hive, partitionweblogs.hqlвыполняемого в кластере.
В этом разделе используется скрипт Azure PowerShell для создания учетной записи хранения и копирования необходимых файлов в учетной записи хранения. Пример скрипта Azure PowerShell в этом разделе выполняет следующие задачи:
- Войдите в Azure.
- Создает группы ресурсов Azure.
- Создает учетную запись хранения Azure.
- Создает BLOB-контейнер в учетной записи хранения
- Копирует пример скрипта HiveQL (partitionweblogs.hql) в контейнер BLOB. Пример скрипта уже доступен в другом общедоступном контейнере BLOB-объектов. Приведенный ниже сценарий PowerShell создает копию этих файлов в созданную учетную запись хранения Azure.
Создание учетной записи хранения и копирование файлов
Это важно
Укажите имена для группы ресурсов Azure и учетной записи хранения Azure, которая будет создана скриптом. Запишите имя группы ресурсов, имя учетной записи хранения и ключ учетной записи хранения, выведенные скриптом. Они нужны в следующем разделе.
$resourceGroupName = "<Azure Resource Group Name>"
$storageAccountName = "<Azure Storage Account Name>"
$location = "East US"
$sourceStorageAccountName = "hditutorialdata"
$sourceContainerName = "adfv2hiveactivity"
$destStorageAccountName = $storageAccountName
$destContainerName = "adfgetstarted" # don't change this value.
####################################
# Connect to Azure
####################################
#region - Connect to Azure subscription
Write-Host "`nConnecting to your Azure subscription ..." -ForegroundColor Green
$sub = Get-AzSubscription -ErrorAction SilentlyContinue
if(-not($sub))
{
Connect-AzAccount
}
# If you have multiple subscriptions, set the one to use
# Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
#endregion
####################################
# Create a resource group, storage, and container
####################################
#region - create Azure resources
Write-Host "`nCreating resource group, storage account and blob container ..." -ForegroundColor Green
New-AzResourceGroup `
-Name $resourceGroupName `
-Location $location
New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName `
-Kind StorageV2 `
-Location $location `
-SkuName Standard_LRS `
-EnableHttpsTrafficOnly 1
$destStorageAccountKey = (Get-AzStorageAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName)[0].Value
$sourceContext = New-AzStorageContext `
-StorageAccountName $sourceStorageAccountName `
-Anonymous
$destContext = New-AzStorageContext `
-StorageAccountName $destStorageAccountName `
-StorageAccountKey $destStorageAccountKey
New-AzStorageContainer `
-Name $destContainerName `
-Context $destContext
#endregion
####################################
# Copy files
####################################
#region - copy files
Write-Host "`nCopying files ..." -ForegroundColor Green
$blobs = Get-AzStorageBlob `
-Context $sourceContext `
-Container $sourceContainerName `
-Blob "hivescripts\hivescript.hql"
$blobs|Start-AzStorageBlobCopy `
-DestContext $destContext `
-DestContainer $destContainerName `
-DestBlob "hivescripts\partitionweblogs.hql"
Write-Host "`nCopied files ..." -ForegroundColor Green
Get-AzStorageBlob `
-Context $destContext `
-Container $destContainerName
#endregion
Write-host "`nYou will use the following values:" -ForegroundColor Green
write-host "`nResource group name: $resourceGroupName"
Write-host "Storage Account Name: $destStorageAccountName"
write-host "Storage Account Key: $destStorageAccountKey"
Write-host "`nScript completed" -ForegroundColor Green
Проверка учетной записи хранения
- Войдите на портал Azure.
- В левой части экрана перейдите к Все услуги>Общее>Группы ресурсов.
- Выберите имя группы ресурсов, созданное в скрипте PowerShell. Используйте фильтр, если у вас слишком много групп ресурсов.
- В представлении "Обзор" вы увидите один ресурс, указанный, если вы не поделились группой ресурсов с другими проектами. Этот ресурс — это учетная запись хранения с указанным ранее именем. Выберите имя учетной записи хранения.
- Выберите плитку "Контейнеры ".
- Выберите контейнер adfgetstarted . Вы увидите папку с именем
hivescripts. - Откройте папку и убедитесь, что она содержит пример файла скрипта, partitionweblogs.hql.
Общие сведения о действии Фабрики данных Azure
Фабрика данных Azure управляет и автоматизирует перемещение и преобразование данных. Фабрика данных Azure может создать кластер HDInsight Hadoop в режиме "точно вовремя", чтобы обработать часть входных данных и удалить кластер после завершения обработки.
В фабрике данных Azure фабрика данных может иметь один или несколько конвейеров данных. Конвейер данных имеет одно или несколько действий. Существует два типа действий:
- Действия перемещения данных. Действия перемещения данных используются для перемещения данных из исходного хранилища данных в целевое хранилище данных.
- Действия преобразования данных. Вы используете действия по преобразованию данных для их преобразования и обработки. Работа Hive на HDInsight относится к действиям преобразования, поддерживаемым Data Factory. В этом руководстве используется преобразовательная активность Hive.
В этой статье описана настройка действия Hive для создания кластера HDInsight Hadoop по запросу. Когда действие выполняется для обработки данных, вот что происходит:
Кластер HDInsight Hadoop автоматически создается своевременно для обработки среза.
Входные данные обрабатываются с помощью скрипта HiveQL в кластере. В этом руководстве скрипт HiveQL, связанный с действием hive, выполняет следующие действия:
- Использует существующую таблицу (hivesampletable) для создания другой таблицы HiveSampleOut.
- Заполняет таблицу HiveSampleOut только определенными столбцами из исходного hivesampletable.
Кластер HDInsight Hadoop удаляется после завершения обработки, и кластер неактивен в течение заданного времени (параметр timeToLive). Если следующий срез данных доступен для обработки в течение доступного времени простоя timeToLive, то для обработки среза используется тот же кластер.
Создание фабрики данных
Войдите на портал Azure.
В меню слева перейдите к
+ Create a resource>фабрике данных>.
Введите или выберите следующие значения для плитки "Новая фабрика данных ":
Недвижимость Ценность Имя Введите имя фабрики данных. Это имя должно быть глобально уникальным. Версия Оставьте в версии 2. Subscription Выберите подписку Azure. Группа ресурсов Выберите группу ресурсов, созданную с помощью скрипта PowerShell. Местоположение Расположение автоматически устанавливается в указанное расположение при создании группы ресурсов ранее. В этом руководстве для расположения задано значение "Восточная часть США". Включение GIT Снимите флажок.
Нажмите кнопку "Создать". Создание фабрики данных может занять от 2 до 4 минут.
После создания фабрики данных вы получите уведомление об успешном развертывании с кнопкой "Перейти к ресурсу ". Выберите "Перейти к ресурсу", чтобы открыть представление фабрики данных по умолчанию.
Выберите "Author & Monitor", чтобы запустить портал разработки и мониторинга Azure Data Factory.
Создание связанных служб
В этом разделе вы создаете две связанные службы в вашей фабрике данных.
- Связанную службу хранилища Azure, которая связывает учетную запись хранения Azure с фабрикой данных. Это хранилище используется кластером HDInsight по запросу. Он также содержит скрипт Hive, выполняемый в кластере.
- Связанную службу HDInsight по запросу. Фабрика данных Azure автоматически создает кластер HDInsight и запускает скрипт Hive. Кластер Hadoop удаляется, если он не используется в течение заданного времени.
Создание связанной службы хранилища Azure
В левой области страницы "Начало работы" выберите значок "Автор ".
Выберите "Подключения" в левом нижнем углу окна и нажмите кнопку "Создать".
В диалоговом окне "Новая связанная служба" выберите хранилище BLOB-объектов Azure и нажмите кнопку "Продолжить".
Укажите следующие значения связанной службы хранилища:
Недвижимость Ценность Имя Введите HDIStorageLinkedService.Подписка Azure Выберите подписку из раскрывающегося списка. Название учетной записи хранилища Выберите учетную запись хранения Azure, созданную в рамках сценария PowerShell. Выберите "Проверить подключение" и в случае успешного выполнения нажмите кнопку "Создать".
Создание связанной службы HDInsight по запросу
Снова нажмите кнопку + Создать, чтобы создать еще одну связанную службу.
В окне "Новая связанная служба" выберите вкладку "Вычисления ".
Выберите Azure HDInsight и нажмите кнопку "Продолжить".
В окне "Новая связанная служба" введите следующие значения и оставьте остальные значения по умолчанию:
Недвижимость Ценность Имя Введите HDInsightLinkedService.Тип Выберите HDInsight по запросу. Связанная служба хранилища Azure Выберите HDIStorageLinkedService.Тип кластера Выбор hadoop Время жизни Укажите длительность, в течение которой кластер HDInsight будет доступен перед автоматическим удалением. Идентификатор сервисного принципала Укажите идентификатор приложения служебного объекта Microsoft Entra, который вы создали в соответствии с предварительными требованиями. Ключ учетной записи службы Укажите ключ проверки подлинности для представителя службы Microsoft Entra. Префикс имени кластера Укажите значение, которое будет префиксировано ко всем типам кластеров, созданным фабрикой данных. Subscription Выберите подписку из раскрывающегося списка. Выбор группы ресурсов Выберите группу ресурсов, созданную в рамках скрипта PowerShell, который вы использовали ранее. Тип ОС/кластер, имя пользователя SSH Введите имя пользователя SSH, обычно sshuser.Тип ОС или пароль SSH кластера Укажите пароль для пользователя SSH Тип ОС/Имя пользователя кластера Введите имя пользователя кластера, обычно admin.Тип ОС или пароль кластера Укажите пароль для пользователя кластера. Затем выберите Создать.
Создание конвейера
Нажмите кнопку + "Плюс" и выберите "Конвейер".
На панели инструментов «Действия» разверните HDInsight и перетащите объект действия Hive на поверхность конструктора конвейеров. На вкладке "Общие " укажите имя действия.
Убедитесь, что выбрано действие Hive, выберите вкладку HDI Cluster. В раскрывающемся списке связанной службы HDInsight выберите связанную службу HDInsightLinkedService, созданную ранее, для HDInsight.
Перейдите на вкладку "Скрипт" и выполните следующие действия.
Для связанной службы скриптов выберите из раскрывающегося списка HDIStorageLinkedService. Это значение относится к созданной ранее связанной службе хранилища.
Для пути к файлу выберите "Обзор хранилища " и перейдите к расположению, где доступен пример скрипта Hive. Если вы запустили скрипт PowerShell ранее, то это расположение должно быть
adfgetstarted/hivescripts/partitionweblogs.hql.
В разделе "Дополнительные> выберите
Auto-fill from script. Этот параметр ищет все параметры в скрипте Hive, для которых требуются значения во время выполнения.В текстовом поле значения добавьте существующую папку в формате
wasbs://adfgetstarted@<StorageAccount>.blob.core.windows.net/outputfolder/. Путь учитывает регистр. Этот путь заключается в том, где будут храниться выходные данные скрипта. Схемаwasbsнеобходима, поскольку в учетных записях хранения теперь по умолчанию включено требование безопасной передачи данных.
Выберите "Проверить" , чтобы проверить конвейер. Чтобы закрыть окно проверки, нажмите кнопку >>Стрелка вправо.
Наконец, выберите "Опубликовать все ", чтобы опубликовать артефакты в Фабрике данных Azure.
Активация конвейера
На панели инструментов конструктора выберите Добавить триггер, затем >.
Нажмите кнопку "ОК " во всплывающей боковой строке.
Мониторинг конвейера
Перейдите на вкладку Мониторинг слева. Вы увидите, что запуск конвейера появится в списке Pipeline Runs (Запуски конвейера). Обратите внимание на состояние запуска в столбце "Состояние ".
Выберите "Обновить", чтобы обновить состояние.
Вы также можете выбрать значок "Просмотр запусков активности", чтобы увидеть запуски активности, связанные с конвейером. На снимке экрана ниже отображается только одно действие, так как в созданном конвейере есть только одно действие. Чтобы вернуться к предыдущему представлению, выберите "Конвейеры " в верхней части страницы.
Проверка выходных данных
Чтобы проверить выходные данные, на портале Azure перейдите к учетной записи хранения, используемой для этого руководства. Вы увидите следующие папки или контейнеры:
Отображается adfgerstarted/outputfolder , содержащий выходные данные скрипта Hive, который был запущен как часть конвейера.
Вы увидите контейнер adfhdidatafactory-<linked-service-name>-<timestamp>. Этот контейнер является расположением хранилища по умолчанию кластера HDInsight, созданного в процессе запуска конвейера.
Вы увидите контейнер adfjobs с журналами заданий Фабрики данных Azure.
Очистите ресурсы
При создании кластера HDInsight по запросу не требуется явно удалять кластер HDInsight. Кластер удаляется на основе конфигурации, предоставленной при создании конвейера. Даже после удаления кластера учетные записи хранения, связанные с кластером, продолжают существовать. Это поведение предусмотрено специально для сохранения данных в неизменном виде. Однако если вы не хотите сохранять данные, вы можете удалить созданную учетную запись хранения.
Вы также можете удалить всю группу ресурсов, созданную для этого руководства. Этот процесс удаляет учетную запись хранения и созданную фабрику данных Azure.
Удаление группы ресурсов
Войдите на портал Azure.
Выберите группы ресурсов на левой панели.
Выберите имя группы ресурсов, созданное в скрипте PowerShell. Используйте фильтр, если у вас слишком много групп ресурсов. Откроется группа ресурсов.
На элементе Resources у вас должна быть учетная запись хранения по умолчанию и фабрика данных, если группа ресурсов не используется совместно с другими проектами.
Выберите команду Удалить группу ресурсов. Это позволяет удалить учетную запись хранения и данные, хранящиеся в учетной записи хранения.
Введите имя группы ресурсов, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".
Дальнейшие шаги
Из этой статьи вы узнали, как использовать фабрику данных Azure для создания кластера HDInsight по запросу и запуска заданий Apache Hive. Перейдите к следующей статье, чтобы узнать, как создавать кластеры HDInsight с настраиваемой конфигурацией.