Använda externa paket med Jupyter-anteckningsböcker i Apache Spark kluster i HDInsight

Lär dig hur du konfigurerar en Jupyter Notebook i Apache Spark-kluster på HDInsight för att använda externa community-bidrogiga Apache maven -paket som inte ingår i klustret.

Du kan söka i maven-lagringsplatsen efter den fullständiga listan med tillgängliga paket. Du kan också hämta en lista över tillgängliga paket från andra källor. Till exempel finns en fullständig lista över community-paket som har bidragit till i Spark-paket.

I den här artikeln får du lära dig hur du använder Spark-CSV- paketet med Jupyter Notebook.

Förutsättningar

Använda externa paket med Jupyter-anteckningsböcker

  1. Navigera till https://CLUSTERNAME.azurehdinsight.net/jupyter där CLUSTERNAME är namnet på ditt Spark-kluster.

  2. Skapa en ny anteckningsbok. Välj nytt och välj sedan Spark.

    Skapa en ny Spark-Jupyter Notebook

  3. En ny anteckningsbok skapas och öppnas med namnet Untitled.pynb. Välj antecknings bokens namn högst upp och ange ett eget namn.

    Ange ett namn för anteckningsboken

  4. Du använder %%configure Magic för att konfigurera antecknings boken för att använda ett externt paket. I antecknings böcker som använder externa paket, se till att du anropar %%configure Magic i den första kod cellen. Detta säkerställer att kerneln har kon figurer ATS för att använda paketet innan sessionen startar.

    Viktigt

    Om du glömmer att konfigurera kärnan i den första cellen kan du använda %%configure med -f -parametern, men den startar om sessionen och all förloppet går förlorad.

    HDInsight-version Kommando
    För HDInsight 3,5 och HDInsight 3,6 %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    För HDInsight 3,3 och HDInsight 3,4 %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. Kodfragmentet ovan förväntar sig maven-koordinaterna för det externa paketet i maven Central-lagringsplatsen. I det här kodfragmentet com.databricks:spark-csv_2.11:1.5.0 är maven-koordinaten för Spark-CSV- paketet. Så här skapar du koordinaterna för ett paket.

    a. Leta upp paketet i maven-lagringsplatsen. I den här artikeln använder vi Spark-CSV.

    b. Samla in värdena för ArtifactId och version från databasen. Kontrol lera att värdena som du samlar in matchar klustret. I det här fallet använder vi ett Scala 2,11-och Spark 1.5.0-paket, men du kan behöva välja olika versioner för lämplig Scala-eller Spark-version i klustret. Du kan ta reda på Scala-versionen på klustret genom scala.util.Properties.versionString att köra i Spark Jupyter-kärnan eller vid Spark-sändning. Du kan ta reda på Spark-versionen i klustret genom att köra sc.version på Jupyter Notebooks.

    Använda externa paket med Jupyter Notebook

    c. Sammanfoga de tre värdena, avgränsade med kolon (:).

    com.databricks:spark-csv_2.11:1.5.0
    
  6. Kör Code-cellen med %%configure Magic. Detta konfigurerar den underliggande livy-sessionen att använda det paket som du har angett. I de efterföljande cellerna i antecknings boken kan du nu använda paketet, som du ser nedan.

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

    För HDInsight 3,4 och tidigare bör du använda följande kodfragment.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. Sedan kan du köra kodfragmenten som visas nedan för att visa data från dataframe som du skapade i föregående steg.

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

Se även

Scenarier

Skapa och köra program

Verktyg och tillägg

Hantera resurser