Aggiungere librerie Apache Hive personalizzate durante la creazione del cluster HDInsight
Informazioni su come pre-caricare librerie Apache Hive in HDInsight. Questo documento contiene informazioni sull'uso di un'Azione Script per precaricare le librerie durante la creazione del cluster. Le librerie aggiunte usando i passaggi in questo documento sono disponibili a livello globale in Hive. Non è necessario usare ADD JAR per caricarli.
Funzionamento
Quando si crea un cluster, è possibile usare un'azione script per modificare i nodi del cluster durante la creazione. Lo script in questo documento accetta un solo parametro, ovvero la posizione delle librerie. Questa posizione deve essere in un Account di archiviazione di Azure e le librerie devono essere archiviate come file con estensione jar.
Durante la creazione del cluster, lo script enumera i file, li copia nella directory /usr/lib/customhivelibs/
nei nodi head e di lavoro, quindi li aggiunge alla proprietà hive.aux.jars.path
nel file core-site.xml
. Nei cluster basati su Linux, aggiorna anche il file hive-env.sh
con il percorso dei file.
L'uso dell'azione script in questo articolo rende disponibili le librerie quando si usa un client Hive per WebHCat e HiveServer2.
Lo script
Posizione degli script
https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1
Requisiti
Gli script devono essere applicati ai nodi head e ai nodi di lavoro.
I file con estensione jar da installare devono essere memorizzati nell'archivio BLOB di Azure in un singolo contenitore.
L'account di archiviazione contenente la libreria dei file con estensione jar deve essere collegato al cluster HDInsight durante la creazione. Deve essere l'account di archiviazione predefinito o un account aggiunto tramite Impostazioni account di archiviazione.
Il percorso WASB al contenitore deve essere specificato come parametro dell'azione script. Ad esempio, se i file con estensione jar sono archiviati in un contenitore denominato libs in un account di archiviazione denominato mystorage, il parametro deve essere
wasbs://libs@mystorage.blob.core.windows.net/
.Nota
In questo documento si presuppone che un account di archiviazione e un contenitore BLOB siano già stati creati e che i file siano stati caricati nel contenitore.
Se non è stato creato un account di archiviazione, è possibile farlo tramite il Portale di Azure. È quindi possibile usare un'utilità, ad esempio Azure Storage Explorer (Esplora archivi di Azure), per creare un contenitore nell'account e caricarvi i file.
Creare un cluster usando lo script
Avviare il provisioning di un cluster usando la procedura descritta in Provisioning di cluster HDInsight in Linux, ma non completare il provisioning. È anche possibile usare Azure PowerShell o HDInsight .NET SDK per creare un cluster con questo script. Per altre informazioni sull'uso di questi metodi, vedere Personalizzare i cluster HDInsight con azioni script. Per la portale di Azure, nella scheda Configurazione e prezzi selezionare l'azione + Aggiungi script.
Per Archiviazione, se l'account di archiviazione contenente la libreria di file jar sarà diverso dall'account usato per il cluster, completare gli account di archiviazione aggiuntivi.
Per Azioni script, specificare le informazioni seguenti:
Proprietà Valore Tipo di script - Personalizzato Nome Librerie URI script Bash https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
Tipo/i di nodo Head, Worker Parametri immettere l'indirizzo WASB per l'account di archiviazione e il contenitore che contiene i file con estensione jar. Ad esempio, wasbs://libs@mystorage.blob.core.windows.net/
.Nota
Per Apache Spark 2.1, usare questo URI dello script bash:
https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh
.Continuare il provisioning del cluster come descritto in Effettuare il provisioning dei cluster HDInsight in Linux.
Al termine della creazione del cluster, è possibile usare i jar aggiunti tramite questo script da Hive senza dover usare l'istruzione ADD JAR
.
Passaggi successivi
Per altre informazioni sull'uso di Hive, vedere Usare Apache Hive con HDInsight