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:
Trino kümesi oluşturma sırasında bir Hive kataloğu ekleyebilir ve bunu bir dış Hive meta veri deposu veritabanına bağlayabilirsiniz.
ARM şablon güncelleştirmesini kullanarak bir Hive kataloğu ekleyebilir ve kümenize bir dış Hive meta veri deposu veritabanı ekleyebilirsiniz.
Aşağıdaki örnek, ARM şablonunu kullanarak kümenize Hive kataloğu ve meta veri deposu veritabanının eklenmesini kapsar.
Önkoşullar
- AKS üzerinde HDInsight ile operasyonel bir Trino kümesi.
- Kümeniz için ARM şablonu oluşturun.
- Tüm küme ARM şablonu örneğini gözden geçirin.
- ARM şablonu yazma ve dağıtma hakkında bilgi.
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 serviceConfigsProfiles ve 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"
}
]
}
}
}
}
}
]
}
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin