Aracılığıyla paylaş


Dış Hive meta veri deposu veritabanını kullanma

Önemli

Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.

Hive meta veri deposu, veriler hakkındaki meta verileri depolamak için merkezi bir depo olarak kullanılır. Bu makalede AKS üzerinde HDInsight ile Trino kümenize nasıl Hive meta veri deposu veritabanı ekleyebileceğiniz açıklanmaktadır. bunun iki yolu vardır:

Aşağıdaki örnek, ARM şablonunu kullanarak kümenize Hive kataloğu ve meta veri deposu veritabanının eklenmesini kapsar.

Önkoşullar

Not

  • Şu anda Azure SQL Veritabanı yerleşik meta veri deposu olarak destekliyoruz.
  • Hive sınırlaması nedeniyle meta veri deposu veritabanı adındaki "-" (kısa çizgi) karakteri desteklenmez.
  • Yalnızca tek meta veri deposu veritabanı bağlantısı desteklenir, bölümünde listelenen clusterProfile.trinoProfile.catalogOptions.hive tüm kataloglar ilk olarak belirtilen bir ve aynı veritabanı parametrelerini kullanacak şekilde yapılandırılır.

Dış Hive meta veri deposu veritabanı ekleme

Hive kataloğunu ve Hive meta veri deposu veritabanını yapılandırmak için küme ARM şablonunuza eklemeniz gereken birkaç önemli bölüm vardır:

Meta veri deposu yapılandırması

Dosyada config.properties dış Hive meta veri deposu veritabanını yapılandırın:

{
    "fileName": "config.properties",
    "values": {
        "hive.metastore.hdi.metastoreDbConnectionURL": "jdbc:sqlserver://server-name.database.windows.net;database=myhmsdb1;encrypt=true;trustServerCertificate=true;create=false;loginTimeout=30",
        "hive.metastore.hdi.metastoreDbConnectionUserName": "trinoadmin",
        "hive.metastore.hdi.metastoreDbConnectionPasswordSecret": "hms-db-pwd",
        "hive.metastore.hdi.metastoreWarehouseDir": "abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse"
    }
}
Özellik Açıklama Örnek
hive.metastore.hdi.metastoreDb Bağlan ionURL JDBC veritabanına bağlantı dizesi. jdbc:sqlserver://server-name.database.windows.net; database=myhmsdb1; encrypt=true; trustServerCertificate=true; create=false; loginTimeout=30
hive.metastore.hdi.metastoreDb Bağlan ionUserName Veritabanına bağlanmak için SQL kullanıcı adı. trinoadmin
hive.metastore.hdi.metastoreDb Bağlan ionPasswordSecret Gizli dizilerde yapılandırılan gizli dizi başvuruAdıProfil ile parola. hms-db-pwd
hive.metastore.hdi.metastoreWarehouseDir ABFS URI'sini kullanarak verilerin depolandığı depolama alanına gidin. abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse

Meta veri deposu kimlik doğrulaması

Azure Key Vault gizli dizilerini belirten dış Hive meta veri deposu veritabanına kimlik doğrulamasını yapılandırın.

Not

referenceName içinde sağlanan değerle eşleşmelidir hive.metastore.hdi.metastoreDbConnectionPasswordSecret

"secretsProfile": {
    "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
    "secrets": [
        {
            "referenceName": "hms-db-pwd",
            "type": "Secret",
            "keyVaultObjectName": "hms-db-pwd"
        }                        ]
},
Özellik Açıklama Örnek
secretsProfile.keyVaultResourceId Hive meta veri deposu gizli dizilerinin depolandığı Azure Key Vault'a yönelik Azure kaynak kimliği dizesi. /subscriptions/0000000-0000-0000-0000-00000000000/resourceGroups/trino-rg/providers/Microsoft.KeyVault/vaults/trinoakv
secretsProfile.secrets[*].referenceName clusterProfile'da daha sonra kullanılacak gizli dizinin benzersiz başvuru adı. Secret1_ref
secretsProfile.secrets[*].type Azure Key Vault'taki nesne türü, yalnızca "Gizli Dizi" desteklenir. Gizli dizi
secretsProfile.secrets[*].keyVaultObjectName Azure Key Vault'ta gerçek gizli dizi değerini içeren gizli dizi nesnesinin adı. gizli dizi1

Katalog yapılandırması

Trino kataloğunun dış Hive meta veri deposu kullanması için özelliği belirtmelidir hive.metastore=hdi . Daha fazla bilgi için bkz . Mevcut kümeye katalog ekleme:

{
    "fileName": "hive1.properties",
    "values": {
        "connector.name": "hive",
        "hive.metastore": "hdi"
    }
}

Tam örnek

Dış Hive meta veri depolarını mevcut bir Trino kümesine yapılandırmak için, aşağıdaki örne başvurarak küme ARM şablonunuza gerekli bölümleri ekleyin:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "resources": [
        {
            "type": "microsoft.hdinsight/clusterpools/clusters",
            "apiVersion": "<api-version>",
            "name": "<cluster-pool-name>/<cluster-name>",
            "location": "<region, e.g. westeurope>",
            "tags": {},
            "properties": {
                "clusterType": "Trino",

                "clusterProfile": {
                    "secretsProfile": {
                        "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
                        "secrets": [
                            {
                                "referenceName": "hms-db-pwd",
                                "type": "Secret",
                                "keyVaultObjectName": "hms-db-pwd"
                            }                        ]
                    },
                    "serviceConfigsProfiles": [
                        {
                            "serviceName": "trino",
                            "configs": [
                                {
                                    "component": "common",
                                    "files": [
                                        {
                                            "fileName": "config.properties",
                                            "values": {
                                                "hive.metastore.hdi.metastoreDbConnectionURL": "jdbc:sqlserver://server-name.database.windows.net;database=myhmsdb1;encrypt=true;trustServerCertificate=true;create=false;loginTimeout=30",
                                                "hive.metastore.hdi.metastoreDbConnectionUserName": "trinoadmin",
                                                "hive.metastore.hdi.metastoreDbConnectionPasswordSecret": "hms-db-pwd",
                                                "hive.metastore.hdi.metastoreWarehouseDir": "abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse"
                                            }
                                        }
                                    ]
                                },
                                {
                                    "component": "catalogs",
                                    "files": [
                                        {
                                            "fileName": "hive1.properties",
                                            "values": {
                                                "connector.name": "hive",
                                                "hive.metastore": "hdi"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            }
        }
    ]
}

Güncelleştirilmiş ARM şablonunu kümenizdeki değişiklikleri yansıtacak şekilde dağıtın. ARM şablonu dağıtmayı öğrenin. Başarıyla dağıtıldıktan sonra Trino kümenizde "hive1" kataloğunu görebilirsiniz.

Hive kataloğunu denemek için birkaç basit sorgu çalıştırabilirsiniz.

Hive kataloğunun başarıyla oluşturulup oluşturulmadiğini denetleyin.

show catalogs;

Tabloyu sorgulama (Bu örnekte, "hive1" belirtilen hive kataloğunun adıdır).

create schema hive1.schema1;
create table hive1.schema1.tpchorders as select * from tpch.tiny.orders;
select * from hive1.schema1.tpchorders limit 100;

Alternatif yapılandırma

Alternatif olarak, içinde dış Hive meta veri deposu veritabanı parametreleri katalog özelliğiyle hive.metastore=hdi birlikte belirtilebilirtrinoProfile.catalogOptions.hive:

Özellik Açıklama Örnek
trinoProfile.catalogOptions.hive Dış Hive meta veri deposu veritabanı parametrelerine sahip Hive veya buzdağı veya delta kataloglarının listesi, her biri için parametre gerektirir. Dış meta veri deposu veritabanını kullanmak için kataloğun bu listede mevcut olması gerekir.
trinoProfile.catalogOptions.hive[*].catalogName içinde yapılandırılan serviceConfigsProfilesve dış Hive meta veri deposu veritabanını kullanacak şekilde yapılandırılan Trino kataloğunun adı. hive1
trinoProfile.catalogOptions.hive[*].metastoreDb Bağlan ionURL JDBC veritabanına bağlantı dizesi. jdbc:sqlserver://server-name.database.windows.net; database=myhmsdb1; encrypt=true; trustServerCertificate=true; create=false; loginTimeout=30
trinoProfile.catalogOptions.hive[*].metastoreDb Bağlan ionUserName Veritabanına bağlanmak için SQL kullanıcı adı. trinoadmin
trinoProfile.catalogOptions.hive[*].metastoreDb Bağlan ionPasswordSecret Gizli dizilerde yapılandırılan gizli dizi başvuruAdıProfil ile parola. hms-db-pwd
trinoProfile.catalogOptions.hive[*].metastoreWarehouseDir ABFS URI'sini kullanarak verilerin depolandığı depolama alanına gidin. abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse

Tam örnek

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "resources": [
        {
            "type": "microsoft.hdinsight/clusterpools/clusters",
            "apiVersion": "<api-version>",
            "name": "<cluster-pool-name>/<cluster-name>",
            "location": "<region, e.g. westeurope>",
            "tags": {},
            "properties": {
                "clusterType": "Trino",

                "clusterProfile": {
                    "secretsProfile": {
                        "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
                        "secrets": [
                            {
                                "referenceName": "hms-db-pwd",
                                "type": "Secret",
                                "keyVaultObjectName": "hms-db-pwd"
                            }                        ]
                    },
                    "serviceConfigsProfiles": [
                        {
                            "serviceName": "trino",
                            "configs": [
                                {
                                    "component": "catalogs",
                                    "files": [
                                        {
                                            "fileName": "hive1.properties",
                                            "values": {
                                                "connector.name": "hive",
                                                "hive.metastore": "hdi"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "trinoProfile": {
                        "catalogOptions": {
                            "hive": [
                                {
                                    "catalogName": "hive1",
                                    "metastoreDbConnectionURL": "jdbc:sqlserver://server-name.database.windows.net;database=myhmsdb1;encrypt=true;trustServerCertificate=true;create=false;loginTimeout=30",
                                    "metastoreDbConnectionUserName": "trinoadmin",
                                    "metastoreDbConnectionPasswordSecret": "hms-db-pwd",
                                    "metastoreWarehouseDir": "abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse"
                                }
                            ]
                        }
                    }
                }
            }
        }
    ]
}