Dodawanie niestandardowych bibliotek Apache Hive podczas tworzenia klastra usługi HDInsight
Dowiedz się, jak wstępnie załadować biblioteki Apache Hive w usłudze HDInsight. Ten dokument zawiera informacje dotyczące używania akcji skryptu do wstępnego ładowania bibliotek podczas tworzenia klastra. Biblioteki dodane przy użyciu kroków w tym dokumencie są globalnie dostępne w usłudze Hive — nie ma potrzeby ich ładowania przy użyciu polecenia ADD JAR .
Jak to działa
Podczas tworzenia klastra można użyć akcji skryptu, aby zmodyfikować węzły klastra podczas ich tworzenia. Skrypt w tym dokumencie akceptuje pojedynczy parametr, który jest lokalizacją bibliotek. Ta lokalizacja musi znajdować się na koncie usługi Azure Storage, a biblioteki muszą być przechowywane jako pliki jar.
Podczas tworzenia klastra skrypt wylicza pliki, kopiuje je do /usr/lib/customhivelibs/
katalogu w węzłach głównych i roboczych, a następnie dodaje je do hive.aux.jars.path
właściwości w core-site.xml
pliku. W klastrach opartych na systemie Linux aktualizuje hive-env.sh
również plik o lokalizację plików.
Korzystając z akcji skryptu w tym artykule, biblioteki są dostępne podczas korzystania z klienta Hive dla serwerów WebHCat i HiveServer2.
Skrypt
Lokalizacja skryptu
https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1
Wymagania
Skrypty muszą być stosowane zarówno do węzłów głównych , jak i węzłów procesu roboczego.
Pliki jar, które chcesz zainstalować, muszą być przechowywane w Azure Blob Storage w jednym kontenerze.
Konto magazynu zawierające bibliotekę plików jar musi być połączone z klastrem usługi HDInsight podczas tworzenia. Musi to być domyślne konto magazynu lub konto dodane za pomocą ustawień konta magazynu.
Ścieżka WASB do kontenera musi być określona jako parametr akcji skryptu. Jeśli na przykład pliki jar są przechowywane w kontenerze o nazwie libs na koncie magazynu o nazwie mystorage, parametrem będzie
wasbs://libs@mystorage.blob.core.windows.net/
.Uwaga
W tym dokumencie założono, że utworzono już konto magazynu, kontener obiektów blob i przekazano do niego pliki.
Jeśli konto magazynu nie zostało utworzone, możesz to zrobić za pośrednictwem Azure Portal. Następnie możesz użyć narzędzia takiego jak Eksplorator usługi Azure Storage, aby utworzyć kontener na koncie i przekazać do niego pliki.
Tworzenie klastra przy użyciu skryptu
Rozpocznij aprowizowanie klastra, wykonując kroki opisane w temacie Provision HDInsight clusters on Linux (Aprowizowanie klastrów usługi HDInsight w systemie Linux), ale nie kończy aprowizacji. Do utworzenia klastra przy użyciu tego skryptu można również użyć Azure PowerShell lub zestawu SDK platformy .NET usługi HDInsight. Aby uzyskać więcej informacji na temat używania tych metod, zobacz Dostosowywanie klastrów usługi HDInsight za pomocą akcji skryptu. Dla Azure Portal na karcie Konfiguracja i cennik wybierz akcję + Dodaj skrypt.
W przypadku magazynu, jeśli konto magazynu zawierające bibliotekę plików jar będzie inne niż konto używane dla klastra, wykonaj dodatkowe konta magazynu.
W przypadku akcji skryptu podaj następujące informacje:
Właściwość Wartość Typ skryptu -Niestandardowe Nazwa Biblioteki Identyfikator URI skryptu powłoki Bash https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
Typy węzłów Głowa, Pracownik Parametry Wprowadź adres WASB dla kontenera i konta magazynu zawierającego pliki jar. Na przykład wasbs://libs@mystorage.blob.core.windows.net/
.Uwaga
W przypadku platformy Apache Spark 2.1 użyj tego identyfikatora URI skryptu powłoki bash:
https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh
.Kontynuuj aprowizowanie klastra zgodnie z opisem w temacie Provision HDInsight clusters on Linux (Aprowizowanie klastrów usługi HDInsight w systemie Linux).
Po zakończeniu tworzenia klastra możesz użyć plików jar dodanych za pośrednictwem tego skryptu z programu Hive bez konieczności używania instrukcji ADD JAR
.
Następne kroki
Aby uzyskać więcej informacji na temat pracy z programem Hive, zobacz Use Apache Hive with HDInsight (Korzystanie z technologii Apache Hive w usłudze HDInsight)