Aggiungere librerie Hive personalizzate durante la creazione del cluster HDInsightAdd custom Hive libraries when creating your HDInsight cluster

Informazioni su come precaricare le librerie Hive in HDInsight.Learn how to pre-load Hive libraries on HDInsight. Questo documento contiene informazioni sull'uso di un'Azione Script per precaricare le librerie durante la creazione del cluster.This document contains information on using a Script Action to pre-load libraries during cluster creation. Le librerie aggiunte usando i passaggi in questo documento sono disponibili in modo globale in Hive, non è necessario utilizzare ADD JAR per caricarli.Libraries added using the steps in this document are globally available in Hive - there is no need to use ADD JAR to load them.

FunzionamentoHow it works

Quando si crea un cluster, è possibile usare un'Azione Script per modificare i nodi del cluster al momento della creazione.When creating a cluster, you can use a Script Action to modify cluster nodes as they are created. Lo script in questo documento accetta un solo parametro, ovvero la posizione delle librerie.The script in this document accepts a single parameter, which is the location of the libraries. Questa posizione deve essere in un Account di archiviazione di Azure e le librerie devono essere archiviate come file con estensione jar.This location must be in an Azure Storage Account, and the libraries must be stored as jar files.

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.During cluster creation, the script enumerates the files, copies them to the /usr/lib/customhivelibs/ directory on head and worker nodes, then adds them to the hive.aux.jars.path property in the core-site.xml file. Nei cluster basati su Linux, aggiorna anche il file hive-env.sh con il percorso dei file.On Linux-based clusters, it also updates the hive-env.sh file with the location of the files.

Nota

L'uso delle azioni script in questo articolo rende le librerie disponibili negli scenari seguenti:Using the script actions in this article makes the libraries available in the following scenarios:

  • HDInsight basato su Linux: quando si usa un client Hive, WebHCat, e HiveServer2.Linux-based HDInsight - when using a Hive client, WebHCat, and HiveServer2.
  • HDInsight basato su Windows, quando si usa un client Hive e WebHCat.Windows-based HDInsight - when using the Hive client and WebHCat.

Lo scriptThe script

Percorso dello scriptScript location

Per i cluster basati su Linux: https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.shFor Linux-based clusters: https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh

Per i cluster basati su Windows: https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1For Windows-based clusters: https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1

Importante

Linux è l'unico sistema operativo usato in HDInsight versione 3.4 o successiva.Linux is the only operating system used on HDInsight version 3.4 or greater. Per altre informazioni, vedere la sezione relativa al ritiro di HDInsight in Windows.For more information, see HDInsight retirement on Windows.

RequisitiRequirements

  • Gli script devono essere applicati ai nodi head e ai nodi di lavoro.The scripts must be applied to both the Head nodes and Worker nodes.

  • I file con estensione jar da installare devono essere memorizzati nell'archivio BLOB di Azure in un singolo contenitore.The jars you wish to install must be stored in Azure Blob Storage in a single container.

  • L'account di archiviazione contenente la libreria dei file con estensione jar deve essere collegato al cluster HDInsight durante la creazione.The storage account containing the library of jar files must be linked to the HDInsight cluster during creation. Deve essere l'account di archiviazione predefinito o un account aggiunto tramite la configurazione facoltativa.It must either be the default storage account, or an account added through optional configuration.

  • Il percorso WASB al contenitore deve essere specificato come parametro dell'azione script.The WASB path to the container must be specified as a parameter to the Script Action. 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 wasb://libs@mystorage.blob.core.windows.net/.For example, if the jars are stored in a container named libs on a storage account named mystorage, the parameter would be wasb://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.This document assumes that you have already created a storage account, blob container, and uploaded the files to it.

    Se non è stato creato un account di archiviazione, è possibile farlo tramite il Portale di Azure.If you have not created a storage account, you can do so through the Azure portal. È quindi possibile usare un'utilità, ad esempio Azure Storage Explorer (Esplora archivi di Azure), per creare un contenitore nell'account e caricarvi i file.You can then use a utility such as Azure Storage Explorer to create a container in the account and upload files to it.

Creare un cluster usando lo scriptCreate a cluster using the script

Nota

La procedura seguente consente di creare un cluster HDInsight basato su Linux.The following steps create a Linux-based HDInsight cluster. Per creare un cluster basato su Windows, selezionare Windows come sistema operativo del cluster durante la creazione del cluster e usare lo script di Windows (PowerShell) invece dello script bash.To create a Windows-based cluster, select Windows as the cluster OS when creating the cluster, and use the Windows (PowerShell) script instead of the bash script.

È anche possibile usare Azure PowerShell o HDInsight .NET SDK per creare un cluster con questo script.You can also use Azure PowerShell or the HDInsight .NET SDK to create a cluster using this script. Per altre informazioni sull'uso di questi metodi, vedere Personalizzare i cluster HDInsight con azioni script.For more information on using these methods, see Customize HDInsight clusters with Script Actions.

  1. Avviare il provisioning di un cluster seguendo i passaggi descritti in Effettuare il provisioning di cluster HDInsight in Linux senza completarlo.Start provisioning a cluster by using the steps in Provision HDInsight clusters on Linux, but do not complete provisioning.

  2. Nella sezione Configurazione facoltativa selezionare Azioni script e specificare le informazioni seguenti:On the Optional Configuration section, select Script Actions, and provide the following information:

  3. Nella parte inferiore di Azioni di script usare il pulsante Seleziona per salvare la configurazione.At the bottom of the Script Actions, use the Select button to save the configuration.

  4. Nella sezione Configurazione facoltativa selezionare Account di archiviazione collegati e il collegamento Aggiungi una chiave di archiviazione.On the Optional Configuration section, select Linked Storage Accounts and select the Add a storage key link. Selezionare l'account di archiviazione che contiene i JAR.Select the storage account that contains the jars. Usare quindi i pulsanti seleziona per salvare le impostazioni e tornare alla Configurazione facoltativa.Then use the select buttons to save settings and return the Optional Configuration.

  5. Per salvare la configurazione facoltativa, usare il pulsante Seleziona nella parte inferiore della sezione Configurazione facoltativa.To save the optional configuration, use the Select button at the bottom of the Optional Configuration section.

  6. Continuare il provisioning del cluster come descritto in Effettuare il provisioning dei cluster HDInsight in Linux.Continue provisioning the cluster as described in Provision HDInsight clusters on Linux.

Al termine della creazione del cluster, sarà possibile usare i file con estensione JAR aggiunti tramite questo script da Hive senza dover usare l'istruzione ADD JAR.Once cluster creation finishes, you are able to use the jars added through this script from Hive without having to use the ADD JAR statement.

Passaggi successiviNext steps

Per altre informazioni sull'uso di Hive, vedere l'articolo relativo all' uso di Hive con HDInsightFor more information on working with Hive, see Use Hive with HDInsight