配置 Delta Lake 目录
重要
AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 了解更多 ,详见此公告。
需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款 包括适用于 beta 版、预览版或尚未正式发布的 Azure 功能的更多法律条款。 有关该特定预览版的信息,请参阅 Azure HDInsight on AKS 预览版信息。 有关问题或功能建议,请在 AskHDInsight 上提交请求,并提供详细信息,并关注我们以获取有关 azure HDInsight 社区 的更多更新。
本文概述了如何在 Trino 群集中使用 AKS 上的 HDInsight 配置 Delta Lake 目录。 可以通过更新群集 ARM 模板来添加新目录,但配置单元目录除外,可以在 Azure 门户中 Trino 群集 创建期间添加该目录。
先决条件
配置 Delta Lake 目录的步骤
如果尚未配置元存储,为表定义和位置配置 Hive 元存储。
在
config.properties
文件中配置外部 Hive 元存储数据库和默认存储目录(有关 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
中提供的值更新群集 ARM 模板以添加新的 Delta Lake 目录配置文件。 需要在 ARM 模板
clusterProfile
属性下的serviceConfigsProfiles
中定义此配置。财产 价值 描述 文件名 delta.properties 目录文件的名称。 如果文件称为 delta.properties, delta
将成为目录名称。连接器名称 delta_lake 目录的类型。 对于 Delta Lake,目录类型必须 delta_lake
hive.metastore 人类发展指数 要用于此目录的 Hive 元数据存储类型。 键入 hdi
,指示群集使用上面配置的群集内 Hive 元存储服务。delta.register-table-procedure.enabled(启用注册表过程) 为真 需要允许注册外部表。 有关 Delta Lake 的其他配置选项,请参阅 Trino 文档。
"serviceConfigsProfiles": [ { "serviceName": "trino", "configs": [ { "component": "catalogs", "files": [ { "fileName": "delta.properties", "values": { "connector.name": "delta_lake", "hive.metastore": "hdi", "delta.register-table-procedure.enabled": "true" } } ] ...
将群集用户分配的 MSI 的
Storage Blob Data Owner
角色分配到包含增量表的存储帐户中。 了解如何 分配角色。- 用户分配的 MSI 名称列在群集资源 JSON 的
msiResourceId
属性中。
- 用户分配的 MSI 名称列在群集资源 JSON 的
部署更新的 ARM 模板以反映群集中的更改。 了解如何 部署 ARM 模板。
成功部署后,可以在 Trino 群集中看到“delta”目录。