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
- Creare un database SQL di Azure
- Creare un insieme di credenziali delle chiavi per archiviare le credenziali
- Configurare metastore durante la creazione di un cluster HDInsight nel servizio Azure Kubernetes con Apache Spark™
- 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
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
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.
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.
-
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.
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
Passare a HDInsight nel pool di cluster del servizio Azure Kubernetes per creare cluster.
Abilitare l'interruttore per aggiungere metastore hive esterno e compilare i dettagli seguenti.
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.
Fare clic su 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
Crea una tabella
>> spark.sql("CREATE TABLE sampleTable (number Int, word String)")
Aggiungere dati nella tabella
>> spark.sql("INSERT INTO sampleTable VALUES (123, \"HDIonAKS\")");\
Leggere la tabella
>> spark.sql("select * from sampleTable").show()
Riferimento
- Apache, Apache Spark, Spark e i nomi dei progetti open source associati sono marchi di Apache Software Foundation (ASF).