Condividi tramite


Configurare il catalogo Delta Lake

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall’host.

Solo il supporto di base sarà disponibile fino alla data di ritiro.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti nella Community di Azure HDInsight.

Questo articolo offre una panoramica di come configurare il catalogo Delta Lake nel cluster Trino con HDInsight nel servizio Azure Kubernetes. È possibile aggiungere un nuovo catalogo aggiornando il modello di Resource Manager del cluster, ad eccezione del catalogo hive, che è possibile aggiungere durante la creazione del cluster Trino nel portale di Azure.

Prerequisiti

Passaggi per configurare il catalogo Delta Lake

  1. Configurare il metastore Hive per le definizioni di tabella e le posizioni se non è già configurato un metastore.

    Configurare il database metastore Hive esterno e la directory di archiviazione predefinita nel file config.properties (altre informazioni sulla configurazione 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"
                }                        ]
        },
    

    Nota

    referenceName deve corrispondere al valore specificato in hive.metastore.hdi.metastoreDbConnectionPasswordSecret

  2. Aggiornare il modello di Resource Manager del cluster per aggiungere un nuovo file di configurazione del catalogo Delta Lake. Questa configurazione deve essere definita in serviceConfigsProfiles nella proprietà clusterProfile del modello di Resource Manager.

    Proprietà valore Descrizione
    fileName delta.properties Nome del file di catalogo. Se il file è denominato delta.properties, delta diventa il nome del catalogo.
    connector.name delta_lake Tipo di catalogo. Per Delta Lake, il tipo di catalogo deve essere delta_lake
    hive.metastore hdi Tipo di metastore hive da usare per questo catalogo. Tipo hdi, indica al cluster di usare il servizio metastore Hive nel cluster configurato in precedenza.
    delta.register-table-procedure.enabled true Obbligatorio per consentire la registrazione di tabelle esterne.

    Vedere la Documentazione di Trino per altre opzioni di configurazione 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. Assegnare il ruolo Storage Blob Data Owner all'identità del servizio gestito assegnato dall'utente del cluster nell'account di archiviazione contenente le tabelle delta. Informazioni su come assegnare un ruolo.

    • Il nome dell'istanza di servizio gestita assegnato dall'utente è elencato nella proprietà msiResourceId nel codice JSON della risorsa del cluster.

Distribuire il modello di Resource Manager aggiornato per riflettere le modifiche nel cluster. Informazioni su come distribuire un modello di Resource Manager.
Dopo la distribuzione, è possibile visualizzare il catalogo "delta" nel cluster Trino.

Passaggi successivi

Tabelle Delta Lake in lettura (Synapse o posizione esterna)