Külső Hive metaadattár-adatbázis használata
Fontos
Ez a szolgáltatás jelenleg előzetes kiadásban elérhető. A Microsoft Azure Előzetes verzió kiegészítő használati feltételei további jogi feltételeket tartalmaznak, amelyek a bétaverzióban, előzetes verzióban vagy egyébként még nem általánosan elérhető Azure-funkciókra vonatkoznak. Erről az adott előzetes verzióról az Azure HDInsight az AKS előzetes verziójában tájékozódhat. Ha kérdése vagy funkciójavaslata van, küldjön egy kérést az AskHDInsightban a részletekkel együtt, és kövessen minket további frissítésekért az Azure HDInsight-közösségről.
A Hive metaadattár az adatok metaadatainak tárolására szolgál központi adattárként. Ez a cikk azt ismerteti, hogyan adhat hozzá Hive metaadattár-adatbázist a Trino-fürthöz a HDInsighttal az AKS-en. Kétféleképpen lehet:
A Trino-fürt létrehozása során hozzáadhat egy Hive-katalógust, és csatolhatja egy külső Hive-metaadattár-adatbázishoz.
Arm-sablonfrissítéssel hozzáadhat egy Hive-katalógust, és külső Hive metaadattár-adatbázist csatolhat a fürthöz.
Az alábbi példa a Hive-katalógus és a metaadattár-adatbázis ARM-sablonnal való hozzáadását mutatja be a fürthöz.
Előfeltételek
- Egy operatív Trino-fürt HDInsighttal az AKS-en.
- Hozzon létre ARM-sablont a fürthöz.
- Tekintse át a teljes fürt ARM-sablonmintáját .
- Az ARM-sablonok készítésének és üzembe helyezésének ismerete.
Feljegyzés
- Jelenleg beépített metaadattárként támogatjuk az Azure SQL Database-t.
- A Hive korlátozása miatt a metaadattár-adatbázis nevének "-" (kötőjel) karaktere nem támogatott.
- Csak egyetlen metaadattár-adatbázis-kapcsolat támogatott, a szakaszban felsorolt
clusterProfile.trinoProfile.catalogOptions.hive
összes katalógus úgy lesz konfigurálva, hogy az előbb megadott adatbázisparamétereket használja.
Külső Hive metaadattár-adatbázis hozzáadása
Néhány fontos szakaszt hozzá kell adnia a fürt ARM-sablonjához a Hive-katalógus és a Hive metaadattár-adatbázis konfigurálásához:
Metaadattár konfigurálása
Külső Hive metaadattár-adatbázis konfigurálása a fájlban config.properties
:
{
"fileName": "config.properties",
"values": {
"hive.metastore.hdi.metastoreDbConnectionURL": "jdbc:sqlserver://mysqlserver1.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"
}
}
Tulajdonság | Leírás | Példa |
---|---|---|
hive.metastore.hdi.metastoreDb Csatlakozás ionURL | A JDBC kapcsolati sztring adatbázisba. | jdbc:sqlserver://mysqlserver1.database.windows.net; database=myhmsdb1; encrypt=true; trustServerCertificate=true; create=false; loginTimeout=30 |
hive.metastore.hdi.metastoreDb Csatlakozás ionUserName | SQL-felhasználónév az adatbázishoz való csatlakozáshoz. | trinoadmin |
hive.metastore.hdi.metastoreDb Csatlakozás ionPasswordSecret | Titkos kulcshivatkozásNév a titkos kulcsprofilban jelszóval konfigurálva. | hms-db-pwd |
hive.metastore.hdi.metastoreWarehouseDir | ABFS URI az adatok tárolására szolgáló tárolóhelyre. | abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse |
Metaadattár-hitelesítés
Konfigurálja a hitelesítést külső Hive metaadattár-adatbázisra, amely megadja az Azure Key Vault titkos kulcsokat.
Feljegyzés
referenceName
meg kell egyeznie a következőben megadott értékkel: 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"
} ]
},
Tulajdonság | Leírás | Példa |
---|---|---|
secretsProfile.keyVaultResourceId | Az Azure-erőforrás-azonosító sztringje az Azure Key Vaultba, ahol a Hive metaadattár titkos kulcsainak tárolása történik. | /subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/trino-rg/providers/Microsoft.KeyVault/vaults/trinoakv |
secretsProfile.secrets[*].referenceName | A fürtProfile későbbi részében használandó titkos kód egyedi hivatkozásneve. | Secret1_ref |
secretsProfile.secrets[*].type | Az Azure Key Vaultban csak a "Titkos" objektumtípus támogatott. | Titkos |
secretsProfile.secrets[*].keyVaultObjectName | Az Azure Key Vault titkos objektumának neve, amely tényleges titkos értéket tartalmaz. | titkos kód1 |
Katalóguskonfiguráció
Ahhoz, hogy egy Trino-katalógus külső Hive metaadattárat használhasson, meg kell adnia a tulajdonságot hive.metastore=hdi
. További információ: Katalógusok hozzáadása meglévő fürthöz:
{
"fileName": "hive1.properties",
"values": {
"connector.name": "hive",
"hive.metastore": "hdi"
}
}
Példa kitöltése
Ha külső Hive metaadattárat szeretne konfigurálni egy meglévő Trino-fürthöz, adja hozzá a fürt ARM-sablonjának szükséges szakaszait az alábbi példára hivatkozva:
{
"$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://mysqlserver1.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"
}
}
]
}
]
}
]
}
}
}
]
}
Telepítse a frissített ARM-sablont a fürt változásainak megfelelően. Megtudhatja, hogyan helyezhet üzembe ARM-sablont. A sikeres üzembe helyezés után megjelenik a "hive1" katalógus a Trino-fürtben.
A Hive-katalógus kipróbálásához futtathat néhány egyszerű lekérdezést.
Ellenőrizze, hogy sikeresen létrejött-e a Hive-katalógus.
show catalogs;
Tábla lekérdezése (Ebben a példában a "hive1" a megadott hive-katalógus neve).
create schema hive1.schema1;
create table hive1.schema1.tpchorders as select * from tpch.tiny.orders;
select * from hive1.schema1.tpchorders limit 100;
Alternatív konfiguráció
Másik lehetőségként külső Hive metaadattár-adatbázisparaméterek is megadhatóak a trinoProfile.catalogOptions.hive
katalógustulajdonságokkal hive.metastore=hdi
együtt:
Tulajdonság | Leírás | Példa |
---|---|---|
trinoProfile.catalogOptions.hive | A Hive-, jéghegy- vagy deltakatalógusok listája külső Hive metaadattár-adatbázis paramétereivel, mindegyikhez paraméterek szükségesek. Külső metaadattár-adatbázis használatához a katalógusnak szerepelnie kell ebben a listában. | |
trinoProfile.catalogOptions.hive[*].catalogName | A külső Hive metaadattár-adatbázis használatára konfigurált serviceConfigsProfiles Trino-katalógus neve. |
hive1 |
trinoProfile.catalogOptions.hive[*].metastoreDb Csatlakozás ionURL | A JDBC kapcsolati sztring adatbázisba. | jdbc:sqlserver://mysqlserver1.database.windows.net; database=myhmsdb1; encrypt=true; trustServerCertificate=true; create=false; loginTimeout=30 |
trinoProfile.catalogOptions.hive[*].metastoreDb Csatlakozás ionUserName | SQL-felhasználónév az adatbázishoz való csatlakozáshoz. | trinoadmin |
trinoProfile.catalogOptions.hive[*].metastoreDb Csatlakozás ionPasswordSecret | Titkos kulcshivatkozásNév a titkos kulcsprofilban jelszóval konfigurálva. | hms-db-pwd |
trinoProfile.catalogOptions.hive[*].metastoreWarehouseDir | ABFS URI az adatok tárolására szolgáló tárolóhelyre. | abfs://container1@myadlsgen2account1.dfs.core.windows.net/hive/warehouse |
Példa kitöltése
{
"$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://mysqlserver1.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"
}
]
}
}
}
}
}
]
}