Použití externích balíčků s Jupyter poznámkovým blokům v clusterech s Apache Spark v HDInsight

Naučte se, jak nakonfigurovat Jupyter notebook v clusteru Apache Spark ve službě HDInsight tak, aby používaly externí balíčky Apache Maven poskytované komunitou, které nejsou zahrnuté do clusteru.

Úplný seznam dostupných balíčků můžete vyhledat v úložišti Maven . Můžete také získat seznam dostupných balíčků z jiných zdrojů. Například úplný seznam balíčků, které jsou součástí komunity, je k dispozici v balíčcích Spark.

V tomto článku se dozvíte, jak pomocí Jupyter Notebook balíčku Spark-CSV .

Požadavky

Použití externích balíčků s Jupyter poznámkovým blokem

  1. Přejděte na https://CLUSTERNAME.azurehdinsight.net/jupyter místo, kde CLUSTERNAME je název vašeho clusteru Spark.

  2. Vytvořte nový poznámkový blok. Vyberte Nový a pak vyberte Spark.

    Vytvořit nový Jupyter Notebook Spark

  3. Nový poznámkový blok se vytvoří a otevře s názvem Untitled.pynb. Vyberte název poznámkového bloku v horní části a zadejte popisný název.

    Zadání názvu poznámkového bloku

  4. %%configureK nakonfigurování poznámkového bloku pro použití externího balíčku použijete Magic. V poznámkových blocích, které používají externí balíčky, se ujistěte, že jste volali %%configure Magic do první buňky kódu. Tím se zajistí, že jádro je nakonfigurované na použití balíčku před spuštěním relace.

    Důležité

    Pokud zapomenete nakonfigurovat jádro v první buňce, můžete použít %%configure -f parametr s parametrem, který ale bude restartovat relaci a veškerý průběh bude ztracen.

    Verze HDInsight Příkaz
    Pro HDInsight 3,5 a HDInsight 3,6 %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    Pro HDInsight 3,3 a HDInsight 3,4 %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. Výše uvedený fragment kódu očekává souřadnice Maven pro externí balíček v centrálním úložišti Maven. V tomto fragmentu kódu com.databricks:spark-csv_2.11:1.5.0 je souřadnice Maven balíčku Spark-CSV . Tady je postup, jak sestavit souřadnice balíčku.

    a. Vyhledejte balíček v úložišti Maven. V tomto článku používáme Spark-CSV.

    b. Z úložiště Shromážděte hodnoty pro ID skupiny, ArtifactId a verzi. Ujistěte se, že hodnoty, které shromáždíte, odpovídají vašemu clusteru. V tomto případě používáme balíček Scala 2,11 a Spark 1.5.0, ale v clusteru možná budete muset vybrat jiné verze pro příslušnou verzi Scala nebo Sparku. Verzi Scala můžete v clusteru zjistit spuštěním scala.util.Properties.versionString v jádru Spark Jupyter nebo v Sparku odeslat. Verzi Sparku v clusteru můžete zjistit spuštěním sc.version na poznámkových blocích Jupyter.

    Použití externích balíčků s Jupyter Notebook

    c. Zřetězí tři hodnoty oddělené dvojtečkou (:).

    com.databricks:spark-csv_2.11:1.5.0
    
  6. Spusťte buňku Code s %%configure Magic. Tím se nakonfiguruje základní Livy relace tak, aby používala balíček, který jste zadali. V následujících buňkách poznámkového bloku teď můžete použít balíček, jak vidíte níže.

    val df = spark.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    

    Pro HDInsight 3,4 a níže byste měli použít následující fragment kódu.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. Potom můžete spustit fragmenty, jako je například znázorněno níže, a zobrazit tak data z datového rámce, který jste vytvořili v předchozím kroku.

    df.show()
    
    df.select("Time").count()
    

Viz také

Scénáře

Vytvoření a spouštění aplikací

Nástroje a rozšíření

Správa prostředků