Поделиться через


Настройка каталога Delta Lake

Важный

Azure HDInsight на AKS выведено из эксплуатации 31 января 2025 г. Узнайте больше из этого объявления.

Необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого завершения рабочих нагрузок.

Важный

Эта функция сейчас доступна в предварительной версии. Дополнительные условия использования для предварительных версий Microsoft Azure включают дополнительные юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в разделе информация о предварительной версии Azure HDInsight на AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и подписывайтесь на обновления на Azure HDInsight Community.

В этой статье представлен обзор настройки каталога Delta Lake в кластере Trino с HDInsight в AKS. Вы можете добавить новый каталог, обновив шаблон ARM кластера, за исключением каталога Hive, который можно добавить во время создания кластера Trino на портале Azure.

Необходимые условия

Действия по настройке каталога Delta Lake

  1. Настройте хранилище метаданных Hive для определений таблиц и расположений, если у вас еще нет хранилища метаданных.

    Настройка внешней базы данных метастора Hive и каталога хранения по умолчанию в файле config.properties (подробнее о настройке Trino см. в )

    "serviceConfigsProfiles": [
        {
            "serviceName": "trino",
            "configs": [
                {
                    "component": "common",
                    "files": [
                        {
                            "fileName": "config.properties",
                            "values": {
                                "hive.metastore.hdi.metastoreDbConnectionURL": "jdbc:sqlserver://{{DATABASE_SERVER}}.database.windows.net;database={{DATABASE_NAME}};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=30",
                                "hive.metastore.hdi.metastoreDbConnectionUserName": "{{DATABASE_USER_NAME}}",
                                "hive.metastore.hdi.metastoreDbConnectionPasswordSecret": "{{SECRET_REFERENCE_NAME}}",
                                "hive.metastore.hdi.metastoreWarehouseDir": "abfs://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT_NAME}}.dfs.core.windows.net/hive/warehouse"
                            }
                        }
                    ]
                }
            ]
        }
    ]
    "secretsProfile": {
            "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
            "secrets": [
                {
                    "referenceName": "{{SECRET_REFERENCE_NAME}}",
                    "type": "Secret",
                    "keyVaultObjectName": "myCredSecret"
                }                        ]
        },
    

    Заметка

    referenceName должно соответствовать значению, предоставленному в hive.metastore.hdi.metastoreDbConnectionPasswordSecret

  2. Обновите шаблон ARM кластера, чтобы добавить новый файл конфигурации каталога Delta Lake. Эта конфигурация должна быть определена в serviceConfigsProfiles в свойстве clusterProfile шаблона ARM.

    Свойство Ценность Описание
    имя файла delta.properties Имя файла каталога. Если файл называется delta.properties, delta становится именем каталога.
    разъем.имя delta_lake Тип каталога. Для Delta Lake тип каталога должен быть delta_lake
    hive.metastore HDI Тип хранилища метаданных Hive для использования в этом каталоге. Введите команду hdi, чтобы указать кластеру использовать настроенную выше службу хранилища метаданных Hive в кластере.
    delta.register-table-procedure.enabled верно Требуется, чтобы разрешить регистрацию внешних таблиц.

    См. документацию Trino для других конфигурационных параметров Delta Lake.

    "serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [
                            {
                                "fileName": "delta.properties",
                                "values": {
                                    "connector.name": "delta_lake",
                                    "hive.metastore": "hdi",
                                    "delta.register-table-procedure.enabled": "true"
                                }
                            }
       ]
    
    ...
    
  3. Назначьте роль Storage Blob Data Owner в вашей учетной записи хранения, содержащей таблицы Delta, вашему назначаемому пользователем управляемому идентификатору службы (MSI) кластера. Узнайте, как назначить роль.

    • Имя MSI, назначенное пользователем, указано в свойстве msiResourceId JSON ресурса кластера.

Разверните обновленный шаблон ARM, чтобы отразить изменения в кластере. Узнайте, как развернуть шаблон ARM.
После успешного развертывания можно просмотреть каталог delta в кластере Trino.

Дальнейшие действия

Чтение таблиц Delta Lakes (Synapse или External Location)