Introducere în Spark DataFrame

Se poate spune că un cadru de date cu scânteie este o colecție de date distribuită care este organizată în coloane numite și este, de asemenea, utilizată pentru a furniza operațiuni cum ar fi filtrarea, calculul agregărilor, gruparea și poate fi folosită și cu Spark SQL. Cadrele de date pot fi create folosind fișiere de date structurate, împreună cu RDD-uri existente, baze de date externe și tabele Hive. În principiu, este denumit și cunoscut sub numele de strat de abstracție care este construit pe partea de sus a RDD și este urmat și de setul de date API care a fost introdus în versiunile ulterioare ale Spark (2.0 +). Mai mult, seturile de date nu au fost introduse în Pyspark, ci doar în Scala cu Spark, dar acest lucru nu a fost cazul în cazul Dataframes. Cadrele de date cunoscute popular ca DF-uri sunt formate de coloane logice care fac mai ușor și mai convenabil lucrul cu RDD-urile, folosind de asemenea aceleași funcții ca RDD-urile în același mod. Dacă vorbești mai mult la nivel conceptual, este echivalent cu tabelele relaționale, alături de caracteristici și tehnici de optimizare bune.

Cum să creezi un DataFrame?

Un cadru de date este în general creat prin oricare dintre metodele menționate. Poate fi creat folosind tabele Hive, baze de date externe, fișiere de date structurate sau chiar în cazul RDD-urilor existente. Toate aceste modalități pot crea aceste coloane numite cunoscute sub numele de Dateframes utilizate pentru procesarea în Apache Spark. Utilizând aplicațiile SQLContext sau SparkSession pot fi utilizate pentru a crea Dataframes.

Spark DataFrames Operations

În Spark, un cadru de date este distribuirea și colectarea unei forme organizate de date în coloane numite, care este echivalent cu o bază de date relațională sau o schemă sau un cadru de date într-un limbaj precum R sau python, dar împreună cu un nivel mai bogat de optimizări a fi folosit. Este utilizat pentru a furniza un anumit domeniu de limbaj care ar putea fi utilizat pentru manipularea structurată a datelor.

Mai jos menționate sunt câteva operațiuni de bază ale procesării structurate a datelor prin utilizarea de cadre de date.

1. Citind un document care este de tip: JSON: Ne-am folosi de comanda sqlContext.read.json.

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:
val dfs= sqlContext.read.json(“student.json”)

Ieșire: În acest caz, rezultatul va fi că numele câmpurilor vor fi preluate automat din fișierul student.json.

2. Afișare date: pentru a vedea datele din cadrele de date Spark, va trebui să utilizați comanda:
dfs.show ()

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Rezultat: datele studentului vă vor fi prezentate într-un format tabular.

3. Folosind metoda printSchema: Dacă sunteți interesat să vedeți structura, adică schema cadrului de date, folosiți următoarea comandă: dfs.printSchema ()

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:

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

Rezultat: structura sau schema vă vor fi prezente

4. Utilizați metoda de selectare: Pentru a utiliza metoda de selectare, va fi utilizată următoarea comandă pentru a obține numele și coloanele din lista de cadre.
dfs.select ( „coloana-name“). arată ()

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Ieșire: se pot vedea valorile coloanei de nume.

5. Folosirea filtrului de vârstă: Următoarea comandă poate fi folosită pentru a găsi gama de studenți a căror vârstă este mai mare de 23 de ani.
dfs.filter (dfs („nume de coloană”)> valoare) .show ()

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Rezultat: Vârsta filtrată cu mai mult de 23 de ani va apărea în rezultate.

6. Utilizarea metodei groupBy: Următoarea metodă poate fi folosită pentru a număra studenții care au aceeași vârstă.
dfs.groupBy ( „coloana-name“). count (). arată ()

Exemplu: Să presupunem că numele fișierului nostru este student.json atunci codul nostru va arăta astfel:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Utilizarea funcției SQL pe o SparkSession care permite aplicației să execute interogări de tip SQL în mod programatic și, prin urmare, returnează rezultatul sub forma unui cadru de date.
spark.sql (interogare)

Exemplu: Să presupunem că trebuie să înregistrăm cadrul de date SQL ca o vizualizare temp, apoi:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Ieșire: o vedere temporară va fi creată de numele studentului și o versiune spark.sql va fi aplicată deasupra acesteia pentru a o converti într-un cadru de date.

8. Utilizarea funcției SQL în cadrul unei sesiuni de scânteie pentru vizualizarea temporară globală: Aceasta permite aplicației să execute interogări de tip SQL în mod programatic și, prin urmare, returnează rezultatul sub forma unui cadru de date.
spark.sql (interogare)

Exemplu: Să presupunem că trebuie să înregistrăm cadrul de date SQL ca o vizualizare temp, apoi:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Ieșire: o vedere temporară va fi creată de numele studentului și o versiune spark.sql va fi aplicată deasupra acesteia pentru a o converti într-un cadru de date.

Avantajele Spark DataFrame

  1. Cadrul de date este colecția distribuită a datelor și, prin urmare, datele sunt organizate în mod numit coloana.
  2. Sunt mai mult sau mai puțin similare cu tabelul în cazul bazelor de date relaționale și au un set bogat de optimizări.
  3. Ferestrele de date sunt utilizate pentru abilitarea interogărilor scrise în SQL și, de asemenea, API-ul cadrului de date
  4. Poate fi utilizat pentru a procesa atât date structurate, cât și nestructurate.
  5. Utilizarea optimizatorului de catalizator face optimizarea ușoară și eficientă.
  6. Bibliotecile sunt prezente în multe limbi, cum ar fi Python, Scala, Java și R.
  7. Acest lucru este utilizat pentru a oferi o compatibilitate puternică cu Hive și este utilizat pentru a rula interogări Hive nemodificate pe depozitul deja prezent al stupului.
  8. Se poate scala foarte bine chiar de la câțiva kilograme pe sistemul personal la mulți petabytes din grupurile mari.
  9. Este utilizat pentru a oferi un nivel ușor de integrare cu alte tehnologii și cadre de date mari.
  10. Extragerea pe care o oferă CDR este eficientă și face procesarea mai rapidă.

Concluzie - Spark DataFrame

În acest post, ați aflat o caracteristică foarte critică a Apache Spark, care sunt cadrele de date și utilizarea acestora în aplicațiile care rulează astăzi, împreună cu operațiunile și avantajele. Sper că v-a plăcut articolul nostru. Stai la curent cu mai multe ca acestea.

Articole recomandate

Acesta a fost un ghid pentru Spark DataFrame. Aici discutăm cum să creăm un DataFrame? avantajele sale și operațiunile diferite ale DataFrames împreună cu codul de eșantion adecvat. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Spark Streaming
  2. Cum se instalează Spark
  3. Cariera în Spark
  4. Întrebări la interviu Spark
  5. Cadre de date în R
  6. 7 tipuri diferite de uniri în Spark SQL (Exemple)
  7. PySpark SQL | Module și metode de PySpark SQL
  8. Componente scânteie | Prezentare generală a componentelor Spark

Categorie: