Kom igång med Apache Spark

Den här själv studie kursen hjälper dig att komma igång snabbt med att använda Apache Spark. Vi diskuterar viktiga begrepp så att du kan komma igång direkt för att skriva ditt första Apache Spark-program. I de andra inlärnings modulerna i den här guiden har du möjlighet att gå djupare i den artikel du önskar.

I den här kursen får du lära dig:

Vi tillhandahåller också exempel antecknings böcker som du kan importera för att komma åt och köra alla kod exempel som ingår i modulen.

Krav

Slutför snabb start: kör ett Spark-jobb på Azure Databricks med hjälp av Azure Portal.

Spark-gränssnitt

Det finns tre viktiga Apache Spark-gränssnitt som du bör känna till: elastisk distribuerad data uppsättning, DataFrame och data uppsättning.

  • Elastisk distribuerad data mängd: den första Apache Spark abstraktionen var elastisk distribuerad data uppsättning (RDD). Det är ett gränssnitt till en sekvens av data objekt som består av en eller flera typer som finns på en samling datorer (ett kluster). RDD kan skapas på flera olika sätt och är tillgängligt med "lägsta nivå"-API: et. Även om det här är den ursprungliga data strukturen för Apache Spark bör du fokusera på DataFrame-API: et, som är en supermängd av RDD-funktionerna. RDD-API: et är tillgängligt i språken Java, python och Scala.
  • DataFrame: de fungerar på samma sätt som för DataFrame som du kanske känner till i Pandas python-biblioteket och R-språket. DataFrame-API: et är tillgängligt i språken Java, python, R och Scala.
  • Data uppsättning: en kombination av DATAFRAME och RDD. Det innehåller det inskrivna gränssnittet som är tillgängligt i RDD och ger dig bekvämligheten hos DataFrame. Data uppsättnings-API: et finns i Java-och Scala-språken.

I många fall, särskilt med prestanda optimeringar inbäddade i DataFrames och data uppsättningar, är det inte nödvändigt att arbeta med RDD. Men det är viktigt att förstå RDD-abstraktionen eftersom:

  • RDD är den underliggande infrastrukturen som gör att Spark kan köras så snabbt och ger data härkomst.
  • Om du simhopp till mer avancerade komponenter i Spark kan det vara nödvändigt att använda RDD.
  • Visualiseringarna i användar gränssnitts referensen Spark RDD.

När du utvecklar Spark-program använder du vanligt vis själv studie kursen DataFrames självstudie och data uppsättningar.

Skriv ditt första Apache Spark -program

Om du vill skriva ditt första Apache Spark-program lägger du till kod i cellerna i en Azure Databricks Notebook. I det här exemplet används python. För mer information kan du också referera till Apache Spark Snabbstartsguide.

Det första kommandot visar innehållet i en mapp i Databricks- fil systemet:

# Take a look at the file system
display(dbutils.fs.ls("/databricks-datasets/samples/docs/"))

Mappinnehåll

Nästa kommando använder spark , som är SparkSession tillgängligt i alla antecknings böcker, för att läsa README.md text filen och skapa en DataFrame med namnet textFile :

textFile = spark.read.text("/databricks-datasets/samples/docs/README.md")

Om du vill räkna raderna i text filen tillämpar du count åtgärden på DataFrame:

textFile.count()

Antal rader i text filen

En sak som du kanske märker är att det andra kommandot som läser text filen inte genererar några utdata medan det tredje kommandot utför count , gör. Orsaken till detta är att det första kommandot är en omvandling medan den andra är en åtgärd. Transformeringar är Lazy och körs bara när en åtgärd körs. Detta gör att Spark kan optimeras för prestanda (till exempel köra ett filter före en anslutning) i stället för att köra kommandon seriellt. En fullständig lista över omvandlingar och åtgärder finns i Apache Spark programmerings guide: omvandlingar och åtgärder.

Azure Databricks data uppsättningar

Azure Databricks innehåller en mängd data uppsättningar i arbets ytan som du kan använda för att lära dig Spark eller testa algoritmer. Du ser dem i guiden komma igång. Data uppsättningarna är tillgängliga i /databricks-datasets mappen.

Bärbara datorer

Om du vill komma åt dessa kod exempel och mer, importerar du en av följande antecknings böcker.

Apache Spark Snabbstart python Notebook

Hämta notebook-fil

Apache Spark Snabbstart Scala Notebook

Hämta notebook-fil