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
Ett Apache Spark-kluster i HDInsight. Anvisningar finns i Skapa Apache Spark-kluster i Azure HDInsight.
Kunskaper om Jupyter Notebooks med Spark på HDInsight. Mer information finns i läsa in data och köra frågor med Apache Spark på HDInsight.
URI-schemat för klustrets primära lagring. Detta
wasb://gäller Azure Storage,abfs://för Azure Data Lake Storage Gen2 elleradl://för Azure Data Lake Storage gen1. Om säker överföring har Aktiver ATS för Azure Storage eller Data Lake Storage Gen2, skulle URI: n varawasbs://ellerabfss://, se även säker överföring.
Använda externa paket med Jupyter-anteckningsböcker
Navigera till
https://CLUSTERNAME.azurehdinsight.net/jupyterdärCLUSTERNAMEär namnet på ditt Spark-kluster.Skapa en ny anteckningsbok. Välj nytt och välj sedan Spark.
En ny anteckningsbok skapas och öppnas med namnet Untitled.pynb. Välj antecknings bokens namn högst upp och ange ett eget namn.
Du använder
%%configureMagic 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%%configureMagic 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
%%configuremed-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"] }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.versionStringatt köra i Spark Jupyter-kärnan eller vid Spark-sändning. Du kan ta reda på Spark-versionen i klustret genom att körasc.versionpå Jupyter Notebooks.
c. Sammanfoga de tre värdena, avgränsade med kolon (:).
com.databricks:spark-csv_2.11:1.5.0Kör Code-cellen med
%%configureMagic. 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")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
- Apache Spark med BI: utföra interaktiv data analys med hjälp av spark i HDInsight med BI-verktyg
- Apache Spark med Machine Learning: använda spark i HDInsight för analys av byggnads temperatur med HVAC-data
- Apache Spark med Machine Learning: använda spark i HDInsight för att förutsäga resultatet av livsmedels inspektionen
- Webbplats logg analys med Apache Spark i HDInsight
Skapa och köra program
- Skapa ett fristående program med hjälp av Scala
- Köra jobb via fjärranslutning på ett Apache Spark-kluster med hjälp av Apache Livy
Verktyg och tillägg
- Använda externa python-paket med Jupyter-anteckningsböcker i Apache Spark kluster i HDInsight Linux
- Använda HDInsight Tools-plugin för IntelliJ IDEA till att skapa och skicka Spark Scala-appar
- Använd HDInsight tools-plugin för IntelliJ-idé för att felsöka Apache Spark program via fjärr anslutning
- Använda Apache Zeppelin-anteckningsböcker med ett Apache Spark-kluster i HDInsight
- Kernels som är tillgängliga för Jupyter Notebook i Apache Spark-kluster för HDInsight
- Installera Jupyter på datorn och ansluta till ett HDInsight Spark-kluster