Condividi tramite


Come usare il metastore Hive con il cluster Apache Spark™

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.

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

Azure HDInsight nel servizio Azure Kubernetes supporta metastore personalizzati, consigliati per i cluster di produzione. I passaggi chiave coinvolti sono

  1. Creare un database SQL di Azure
  2. Creare un insieme di credenziali delle chiavi per archiviare le credenziali
  3. Configurare metastore durante la creazione di un cluster HDInsight nel servizio Azure Kubernetes 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 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 insieme di credenziali delle chiavi per archiviare le credenziali

  1. Creare un insieme di credenziali delle chiavi di Azure.

    Lo scopo dell'insieme di credenziali delle chiavi è consentire di archiviare la password amministratore di SQL Server impostata durante la creazione del database SQL. HDInsight nella piattaforma del servizio Azure Kubernetes non gestisce direttamente le credenziali. Di conseguenza, è necessario archiviare le credenziali importanti in Azure Key Vault. Informazioni sulla procedura per creare un insieme di credenziali delle chiavi di Azure.

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

    Object 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 di Key Vault Informazioni su 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 credenziali delle chiavi.

    Screenshot che mostra come creare un segreto.

    Nota

    Assicurarsi di annotare il nome del segreto, perché sarà necessario durante la creazione del cluster.

Configurare metastore durante la creazione di un cluster HDInsight Spark

  1. Passare a HDInsight nel pool di cluster del servizio Azure Kubernetes per creare cluster.

    Screenshot che mostra come creare un nuovo cluster.

  2. Abilitare l'interruttore per aggiungere metastore hive esterno e compilare i dettagli seguenti.

    Screenshot che mostra la scheda di base.

  3. Il resto dei dettagli deve essere compilato in base alle regole di creazione del cluster per il cluster Apache Spark in HDInsight nel servizio Azure Kubernetes.

  4. Fare clic su Rivedi e crea.

    Screenshot che mostra la scheda rivedi e crea.

    Nota

    • Il ciclo di vita del metastore non è associato a un ciclo di vita dei cluster, pertanto è possibile creare ed eliminare i 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 al metastore.

Operare su metastore esterno

  1. Crea 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 insert.

  3. Leggere la tabella

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

    Screenshot che mostra come leggere la tabella.

Riferimento