Condividi tramite


Come usare il metastore Hive con il cluster Apache Spark™

Importante

Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più con questo annuncio.

È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.

Importante

Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, inviare una richiesta su AskHDInsight con i dettagli e seguire noi per altri aggiornamenti su Azure HDInsight Community.

È essenziale condividere i dati e il metastore tra più servizi. Uno dei metastore comunemente usati nel contesto del metastore HIVE. HDInsight nel servizio Azure Kubernetes consente agli utenti di connettersi a un metastore esterno. Questo passaggio consente agli utenti di HDInsight di connettersi facilmente ad altri servizi nell'ecosistema.

Azure HDInsight su Azure Kubernetes Service (AKS) supporta metastore personalizzati, consigliati per i cluster di produzione. I passaggi chiave coinvolti sono

  1. Creare un database SQL di Azure
  2. Creare una cassaforte delle chiavi per la conservazione delle credenziali
  3. Configurare il metastore durante la creazione di un cluster HDInsight su AKS di Azure con Apache Spark™
  4. Operare su metastore esterno (mostra i database ed eseguire un limite di selezione 1).

Durante la creazione del cluster, il servizio HDInsight deve connettersi al metastore esterno e verificare le credenziali.

Creare un database SQL di Azure

  1. Creare o avere un database SQL di Azure esistente prima di configurare un metastore Hive personalizzato per un cluster HDInsight.

    Nota

    Attualmente è supportato solo il database SQL di Azure per il metastore HIVE. A causa della limitazione di Hive, il carattere "-" (trattino) nel nome del database metastore non è supportato.

Creare un vault di chiavi per l'archiviazione delle credenziali

  1. Creare un Azure Key Vault.

    Lo scopo del Key Vault è consentire di archiviare la password dell'amministratore di SQL Server impostata al momento della creazione del database SQL. HDInsight sulla piattaforma AKS non gestisce direttamente le credenziali. Di conseguenza, è necessario archiviare le credenziali importanti in Azure Key Vault. Impara i passaggi per creare un Azure Key Vault.

  2. Dopo la creazione di Azure Key Vault, assegnare i ruoli seguenti

    Oggetto Ruolo Osservazioni
    Identità gestita assegnata dall'utente (lo stesso UAMI usato dal cluster HDInsight) Utente dei segreti di Key Vault Informazioni su come Assegnare un ruolo a UAMI
    Utente (che crea il segreto in Azure Key Vault) Amministratore del Key Vault Scopri come assegnare un ruolo all'utente.

    Nota

    Senza questo ruolo, l'utente non può creare un segreto.

  3. Creare un segreto

    Questo passaggio consente di mantenere la password di amministratore di SQL Server come segreto in Azure Key Vault. Aggiungere la password (stessa password fornita nel database SQL per l'amministratore) nel campo "Valore" durante l'aggiunta di un segreto.

    Screenshot che mostra come creare un insieme di chiavi.

    Screenshot che mostra come creare un segreto.

    Nota

    Annota il nome del segreto, perché ti servirà durante la creazione del cluster.

Configurare il metastore mentre si crea un cluster HDInsight Spark

  1. Passare a HDInsight nell'AKS Cluster pool per creare cluster.

    Screenshot che mostra come creare un nuovo cluster.

  2. Attivare l'interruttore a levetta per aggiungere un metastore Hive esterno e compilare i dettagli seguenti.

    Screenshot che mostra la scheda principale.

  3. Gli altri dettagli devono essere compilati secondo le regole di creazione del cluster per il cluster Apache Spark in HDInsight nel servizio Azure Kubernetes Service.

  4. Fai clic su Rivedi e crea.

    Screenshot che mostra scheda Rivedi e Crea.

    Nota

    • Il ciclo di vita del metastore non è associato a un ciclo di vita dei cluster, quindi è possibile creare ed eliminare cluster senza perdere i metadati. I metadati, ad esempio gli schemi Hive, vengono mantenuti anche dopo l'eliminazione e la ricreazione del cluster HDInsight.
    • Un metastore personalizzato consente di collegare più cluster e tipi di cluster a tale metastore.

Operare su metastore esterno

  1. Creare una tabella

    >> spark.sql("CREATE TABLE sampleTable (number Int, word String)")

    Screenshot che mostra come creare una tabella.

  2. Aggiungere dati nella tabella

    >> spark.sql("INSERT INTO sampleTable VALUES (123, \"HDIonAKS\")");\

    Screenshot che mostra l'istruzione

  3. Leggere la tabella

    >> spark.sql("select * from sampleTable").show()

    Screenshot che mostra come leggere la tabella.

Riferimento