Introduktion til Spark DataFrame

En gnistedataramme kan siges at være en distribueret dataindsamling, der er organiseret i navngivne kolonner og bruges også til at tilvejebringe operationer såsom filtrering, beregning af aggregeringer, gruppering og også kan bruges med Spark SQL. Datarammer kan oprettes ved at bruge strukturerede datafiler sammen med eksisterende RDD'er, eksterne databaser og Hive-tabeller. Det kaldes grundlæggende og kaldes et abstraktionslag, der er bygget oven på RDD og følges også af datasættets API, der blev introduceret i senere versioner af Spark (2.0 +). Desuden blev datasættene ikke introduceret i Pyspark, men kun i Scala med Spark, men dette var ikke tilfældet i tilfælde af Dataframes. Datarammer populært kendt som DF'er er logiske kolonneformater, der gør arbejdet med RDD'er lettere og mere praktisk, og som også bruger de samme funktioner som RDD'er på samme måde. Hvis du taler mere på det konceptuelle niveau, svarer det til relationstabellerne sammen med gode optimeringsfunktioner og teknikker.

Sådan opretter du en DataFrame?

En dataramme oprettes generelt ved hjælp af en af ​​de nævnte metoder. Det kan oprettes ved at bruge Hive-tabeller, eksterne databaser, strukturerede datafiler eller endda i tilfælde af eksisterende RDD'er. Disse alle måder kan oprette disse navngivne kolonner kendt som Dataframes brugt til behandlingen i Apache Spark. Ved at anvende SQLContext eller SparkSession kan applikationer bruges til at oprette Dataframes.

Spark DataFrames-operationer

I Spark er en dataramme distribution og samling af en organiseret form for data i navngivne kolonner, der svarer til en relationel database eller et skema eller en dataramme på et sprog som R eller python, men sammen med et rigere niveau af optimeringer at blive brugt. Det bruges til at tilvejebringe en bestemt domæneart af et sprog, der kan bruges til struktureret datamanipulation.

Nedenstående er nogle grundlæggende operationer med struktureret databehandling ved hjælp af Dataframes.

1. Læsning af et dokument, der er af typen: JSON: Vi vil bruge kommandoen sqlContext.read.json.

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:
val dfs= sqlContext.read.json(“student.json”)

Output: I dette tilfælde vil output være, at feltnavne automatisk tages fra filen student.json.

2. Visning af data: For at se dataene i Spark-datarammerne skal du bruge kommandoen:
dfs.show ()

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Output: Studentens data vil være til stede for dig i tabelformat.

3. Brug af printSchema-metoden: Hvis du er interesseret i at se strukturen, dvs. skemaet til datarammen, skal du bruge følgende kommando: dfs.printSchema ()

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Output: Strukturen eller skemaet vil være til stede for dig

4. Brug markeringsmetoden: For at bruge den valgte metode bruges følgende kommando til at hente navnene og kolonnerne fra listen over datarammer.
dfs.select ( ”kolonnenavn”). vise ()

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Output: Værdierne for navnesøjlen kan ses.

5. Brug af aldersfilter: Følgende kommando kan bruges til at finde udvalget af studerende, hvis alder er mere end 23 år.
dfs.filter (dfs ("kolonne-navn")> værdi) .show ()

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Output: Den filtrerede alder i mere end 23 vises i resultaterne.

6. Brug af gruppenBy-metoden: Følgende metode kan bruges til at tælle antallet af studerende, der har samme alder.
dfs.groupBy ( ”kolonnenavn”). tæller (). vise ()

Eksempel: Lad os antage, at vores filnavn er student.json, så vil vores kodestykke se ud:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Brug af SQL-funktion på en SparkSession, der gør det muligt for applikationen at udføre forespørgsler af SQL-typen programmatisk og dermed returnerer resultatet i form af en dataramme.
spark.sql (query)

Eksempel: Antag, at vi skal registrere SQL-datarammen som en tempevisning derefter:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Output: Der oprettes en midlertidig visning ved hjælp af den studerendes navn, og en spark.sql anvendes oven på den for at konvertere den til en dataramme.

8. Brug af SQL-funktion under en gnist session for global midlertidig visning: Dette gør det muligt for applikationen at udføre SQL-type forespørgsler programmatisk og dermed returnerer resultatet i form af en dataramme.
spark.sql (query)

Eksempel: Antag, at vi skal registrere SQL-datarammen som en tempevisning derefter:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Output: Der oprettes en midlertidig visning ved hjælp af den studerendes navn, og en spark.sql anvendes oven på den for at konvertere den til en dataramme.

Fordele ved Spark DataFrame

  1. Datarammen er datas distribuerede samling, og derfor er dataene organiseret på navngivet kolonnemode.
  2. De ligner mere eller mindre tabellen i tilfælde af relationelle databaser og har et rigt sæt optimering.
  3. Dataframes bruges til at styrke forespørgsler, der er skrevet i SQL og også databasens API
  4. Det kan bruges til at behandle såvel strukturerede som ustrukturerede slags data.
  5. Brug af katalysatoroptimeringsværktøj gør optimering let og effektiv.
  6. Bibliotekerne findes på mange sprog som Python, Scala, Java og R.
  7. Dette bruges til at give stærk kompatibilitet med Hive og bruges til at køre umodificerede Hive-forespørgsler på det allerede nuværende bikubelagre.
  8. Det kan skalere meget godt lige fra et par kbs på det personlige system til mange petabytes på de store klynger.
  9. Det bruges til at tilvejebringe et let integrationsniveau med andre big datateknologier og rammer.
  10. Abstraktionen, de leverer til RDD'er, er effektiv og gør behandlingen hurtigere.

Konklusion - Spark DataFrame

I dette indlæg har du lært en meget kritisk funktion af Apache Spark, som er datarammerne og dens anvendelse i de applikationer, der kører i dag, sammen med operationer og fordele. Jeg håber, du har ønsket vores artikel. Hold øje med mere som disse.

Anbefalede artikler

Dette har været en guide til Spark DataFrame. Her diskuterer vi, hvordan man opretter en DataFrame? dens fordele og forskellige operationer af DataFrames sammen med den passende prøvekode. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Gnist streaming
  2. Sådan installeres gnist
  3. Karriere i gnist
  4. Spark Interview Spørgsmål
  5. Datarammer i R
  6. 7 forskellige typer sammenføjninger i Spark SQL (eksempler)
  7. PySpark SQL | Moduler og metoder til PySpark SQL
  8. Gnistkomponenter | Oversigt over gnistkomponenter

Kategori: