Externe pakketten met Jupyter-notebooks gebruiken in Apache Spark clusters in HDInsight
Meer informatie over het configureren van een Jupyter notebook in Apache Spark cluster op HDInsight voor het gebruik van externe, door de Community bijgedragen Apache maven -pakketten die niet out-of-the-box in het cluster zijn opgenomen.
U kunt in de maven-opslag plaats zoeken naar de volledige lijst met pakketten die beschikbaar zijn. U kunt ook een lijst met beschik bare pakketten uit andere bronnen ophalen. Een volledige lijst met door de Community bijgedragen pakketten is bijvoorbeeld beschikbaar in Spark-pakketten.
In dit artikel leert u hoe u het Spark-CSV- pakket gebruikt met de Jupyter notebook.
Vereisten
Een Apache Spark-cluster in HDInsight. Zie Apache Spark-clusters maken in Azure HDInsight voor instructies.
Weten hoe u Jupyter Notebook gebruikt met Spark on HDInsight. Zie Zelfstudie: Gegevens laden en query's uitvoeren in een Apache Spark-cluster in Azure HDInsight voor meer informatie.
Het URI-schema voor de primaire opslag voor uw clusters. Dit is
wasb://voor Azure Storage,abfs://voor Azure Data Lake Storage Gen2 ofadl://voor Azure Data Lake Storage Gen1. Als beveiligde overdracht is ingeschakeld voor Azure Storage of Data Lake Storage Gen2, wordt de URIwasbs://ofabfss://, respectievelijk, weer geven, beveiligde overdracht.
Externe pakketten gebruiken met Jupyter-notebooks
Ga naar
https://CLUSTERNAME.azurehdinsight.net/jupyterde locatie waarCLUSTERNAMEde naam van uw Spark-cluster zich bevindt.Maak een nieuwe notebook. Selecteer Nieuw en selecteer vervolgens Spark.
Er wordt een nieuwe notebook gemaakt en geopend met de naam Untitled.pynb. Selecteer de naam van het notitie blok bovenaan en geef een beschrijvende naam op.
U gebruikt de
%%configureMagic om het notitie blok te configureren voor het gebruik van een extern pakket. Zorg er in notitie blokken die gebruikmaken van externe pakketten voor dat u het Magic aanroept%%configurein de eerste cel van de code. Dit zorgt ervoor dat de kernel zo is geconfigureerd dat het pakket wordt gebruikt voordat de sessie wordt gestart.Belangrijk
Als u vergeet de kernel in de eerste cel te configureren, kunt u de gebruiken
%%configuremet de-fpara meter, maar wordt de sessie opnieuw gestart en gaat alle voortgang verloren.HDInsight-versie Opdracht Voor HDInsight 3,5 en HDInsight 3,6 %%configure{ "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}Voor HDInsight 3,3 en HDInsight 3,4 %%configure{ "packages":["com.databricks:spark-csv_2.10:1.4.0"] }Het bovenstaande fragment verwacht de Maven-coördinaten voor het externe pakket in de centrale opslag plaats maven. In dit fragment
com.databricks:spark-csv_2.11:1.5.0is de Maven-coördinaat voor het Spark-CSV- pakket. Hier kunt u de coördinaten voor een pakket maken.a. Zoek het pakket in de Maven-opslag plaats. Voor dit artikel gebruiken we Spark-CSV.
b. Verzamel de waarden voor GroupId, ArtifactId en Version uit de opslag plaats. Zorg ervoor dat de waarden die u verzamelt, overeenkomen met uw cluster. In dit geval gebruiken we een scala 2,11-en Spark 1.5.0-pakket, maar u moet mogelijk verschillende versies selecteren voor de juiste scala-of Spark-versie in uw cluster. U kunt de scala-versie in uw cluster vinden door uit te voeren
scala.util.Properties.versionStringop de Spark Jupyter-kernel of op Spark-verzen ding. U kunt de Spark-versie op uw cluster vinden doorsc.versionop Jupyter-notebooks uit te voeren.
c. De drie waarden samen voegen, gescheiden door een dubbele punt (:).
com.databricks:spark-csv_2.11:1.5.0Voer de code-cel uit met het
%%configureMagic. Hiermee configureert u de onderliggende livy-sessie voor het gebruik van het pakket dat u hebt ingevoerd. In de volgende cellen in het notitie blok kunt u het pakket nu gebruiken, zoals hieronder wordt weer gegeven.val df = spark.read.format("com.databricks.spark.csv"). option("header", "true"). option("inferSchema", "true"). load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")Voor HDInsight 3,4 en lager moet u het volgende code fragment gebruiken.
val df = sqlContext.read.format("com.databricks.spark.csv"). option("header", "true"). option("inferSchema", "true"). load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")U kunt vervolgens de fragmenten uitvoeren, zoals hieronder wordt weer gegeven, om de gegevens weer te geven van de data frame die u in de vorige stap hebt gemaakt.
df.show() df.select("Time").count()
Zie ook
Scenario's
- Apache Spark met BI: interactieve gegevens analyses uitvoeren met behulp van Spark in HDInsight met BI-hulpprogram ma's
- Apache Spark met Machine Learning: Spark in HDInsight gebruiken voor het analyseren van de gebouw temperatuur met behulp van HVAC-gegevens
- Apache Spark met Machine Learning: Spark in HDInsight gebruiken om voedsel inspectie resultaten te voors pellen
- Analyse van website logboeken met Apache Spark in HDInsight
Toepassingen maken en uitvoeren
- Een zelfstandige toepassing maken met behulp van Scala
- Apache Livy gebruiken om taken op afstand uit te voeren in een Apache Spark-cluster
Tools en uitbreidingen
- Externe Python-pakketten gebruiken met Jupyter-notebooks in Apache Spark clusters in HDInsight Linux
- De invoegtoepassing HDInsight Tools for IntelliJ IDEA gebruiken om Spark Scala-toepassingen te maken en in te dienen
- De invoeg toepassing HDInsight tools for IntelliJ-idee gebruiken om op afstand fouten in Apache Spark toepassingen op te sporen
- Apache Zeppelin-notebooks gebruiken met een Apache Spark-cluster in HDInsight
- Kernels die beschikbaar zijn voor Jupyter Notebook in Apache Spark cluster voor HDInsight
- Jupyter op uw computer installeren en verbinding maken met een HDInsight Spark-cluster