HDInsight kümenizi oluştururken özel Apache Hive kitaplıkları ekleme

HDInsight'ta Apache Hive kitaplıklarını önceden yüklemeyi öğrenin. Bu belge, küme oluşturma sırasında kitaplıkları önceden yüklemek için Betik Eylemi kullanma hakkında bilgi içerir. Bu belgedeki adımlar kullanılarak eklenen kitaplıklar genel olarak Hive'da kullanılabilir; bunları yüklemek için ADD JAR kullanmanız gerekmez.

Nasıl çalışır?

Küme oluştururken, küme düğümlerini oluşturuldukları sırada değiştirmek için Bir Betik Eylemi kullanabilirsiniz. Bu belgedeki betik, kitaplıkların konumu olan tek bir parametreyi kabul eder. Bu konum bir Azure Depolama Hesabında olmalı ve kitaplıklar jar dosyası olarak depolanmalıdır.

Betik, küme oluşturma sırasında dosyaları numaralandırır, baş ve çalışan düğümlerindeki dizine /usr/lib/customhivelibs/ kopyalar ve ardından dosyadaki core-site.xml özelliğine hive.aux.jars.path ekler. Linux tabanlı kümelerde, dosyayı dosyaların konumuyla da güncelleştirir hive-env.sh .

Bu makaledeki betik eyleminin kullanılması , WebHCat ve HiveServer2 için Hive istemcisi kullanılırken kitaplıkların kullanılabilir olmasını sağlar.

Betik

Betik konumu

https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1

Gereksinimler

  • Betikler hem Baş düğümlere hem de Çalışan düğümlerine uygulanmalıdır.

  • Yüklemek istediğiniz jar'lar tek bir kapsayıcıda Azure Blob Depolama depolanmalıdır.

  • Jar dosyalarının kitaplığını içeren depolama hesabının oluşturma sırasında HDInsight kümesine bağlanması gerekir . Varsayılan depolama hesabı veya Depolama Hesabı Ayarları aracılığıyla eklenen bir hesap olmalıdır.

  • Kapsayıcının WASB yolu, Betik Eylemine parametre olarak belirtilmelidir. Örneğin, jar'lar mystorage adlı bir depolama hesabında libs adlı bir kapsayıcıda depolanıyorsa parametresi olacaktırwasbs://libs@mystorage.blob.core.windows.net/.

    Not

    Bu belgede zaten bir depolama hesabı, blob kapsayıcısı oluşturduğunuz ve dosyaları bu hesaba yüklediğiniz varsayılır.

    Depolama hesabı oluşturmadıysanız bunu Azure portal aracılığıyla yapabilirsiniz. Daha sonra hesapta kapsayıcı oluşturmak ve dosyaları karşıya yüklemek için Azure Depolama Gezgini gibi bir yardımcı program kullanabilirsiniz.

Betiği kullanarak küme oluşturma

  1. Linux'ta HDInsight kümeleri sağlama bölümündeki adımları kullanarak küme sağlamaya başlayın, ancak sağlama işlemini tamamlamayın. Bu betiği kullanarak küme oluşturmak için Azure PowerShell veya HDInsight .NET SDK'sını da kullanabilirsiniz. Bu yöntemleri kullanma hakkında daha fazla bilgi için bkz. HDInsight kümelerini Betik Eylemleri ile özelleştirme. Azure portal için Yapılandırma + fiyatlandırma sekmesinde +Betik ekle eylemini seçin.

  2. Depolama için, jar dosyaları kitaplığını içeren depolama hesabı küme için kullanılan hesaptan farklı olacaksa Ek depolama hesapları'nı tamamlayın.

  3. Betik Eylemleri için aşağıdaki bilgileri sağlayın:

    Özellik Değer
    Betik türü -Özel
    Name Kitaplıklar
    Bash betik URI'si https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
    Düğüm türleri Baş, Çalışan
    Parametreler Jar'ları içeren kapsayıcı ve depolama hesabının WASB adresini girin. Örneğin, wasbs://libs@mystorage.blob.core.windows.net/.

    Not

    Apache Spark 2.1 için şu bash betiği URI'sini kullanın: https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh.

  4. Linux'ta HDInsight kümeleri sağlama bölümünde açıklandığı gibi kümeyi sağlamaya devam edin.

Küme oluşturma işlemi tamamlandıktan sonra, deyimini kullanmak zorunda kalmadan Hive'dan bu betik aracılığıyla eklenen jar'ları kullanabilirsiniz ADD JAR .

Sonraki adımlar

Hive ile çalışma hakkında daha fazla bilgi için bkz. HDInsight ile Apache Hive kullanma