Introduzione a Spark DataFrame

Si può dire che un frame di dati spark sia una raccolta di dati distribuiti che è organizzata in colonne denominate e viene anche utilizzata per fornire operazioni come filtro, calcolo di aggregazioni, raggruppamento e può anche essere utilizzata con Spark SQL. I frame di dati possono essere creati facendo uso di file di dati strutturati, insieme a RDD esistenti, database esterni e tabelle Hive. Fondamentalmente è definito e noto come un livello di astrazione che si basa su RDD ed è anche seguito dall'API del set di dati che è stato introdotto nelle versioni successive di Spark (2.0 +). Inoltre, i set di dati non sono stati introdotti in Pyspark ma solo in Scala con Spark, ma non è stato il caso di Dataframes. I frame di dati popolarmente conosciuti come DF sono formati logici colonnari che rendono più semplice e conveniente lavorare con i RDD, sfruttando allo stesso modo le stesse funzioni dei RDD. Se parli di più a livello concettuale, è equivalente alle tabelle relazionali insieme a buone caratteristiche e tecniche di ottimizzazione.

Come creare un DataFrame?

Un frame di dati viene generalmente creato da uno qualsiasi dei metodi citati. Può essere creato facendo uso di tabelle Hive, database esterni, file di dati strutturati o anche nel caso di RDD esistenti. In tutti questi modi è possibile creare queste colonne denominate note come frame di dati utilizzati per l'elaborazione in Apache Spark. Utilizzando SQLContext o SparkSession è possibile utilizzare le applicazioni per creare Dataframe.

Operazioni Spark DataFrames

In Spark, un frame di dati è la distribuzione e la raccolta di una forma organizzata di dati in colonne denominate che è equivalente a un database relazionale o uno schema o un frame di dati in un linguaggio come R o Python ma insieme a un livello più ricco di ottimizzazioni da essere usato. Viene utilizzato per fornire un tipo di dominio specifico di un linguaggio che potrebbe essere utilizzato per la manipolazione strutturata di dati.

Di seguito sono riportate alcune operazioni di base dell'elaborazione di dati strutturati mediante l'utilizzo di frame di dati.

1. Lettura di un documento di tipo: JSON: utilizzeremo il comando sqlContext.read.json.

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:
val dfs= sqlContext.read.json(“student.json”)

Output: in questo caso, l'output sarà che i nomi dei campi verranno automaticamente presi dal file student.json.

2. Visualizzazione dei dati: per visualizzare i dati nei frame di dati Spark è necessario utilizzare il comando:
dfs.show ()

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Output: i dati degli studenti saranno presenti in un formato tabulare.

3. Usando il metodo printSchema: Se sei interessato a vedere la struttura, cioè lo schema del frame di dati, usa il seguente comando: dfs.printSchema ()

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:

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

Output: la struttura o lo schema saranno presenti

4. Utilizzare il metodo di selezione: per utilizzare il metodo di selezione, verrà utilizzato il seguente comando per recuperare i nomi e le colonne dall'elenco dei frame di dati.
dfs.select ( “nome-colonna”). show ()

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Output: è possibile visualizzare i valori della colonna del nome.

5. Utilizzo del filtro Età: il seguente comando può essere utilizzato per trovare l'intervallo di studenti la cui età è superiore a 23 anni.
dfs.filter (dfs ("nome-colonna")> valore) .show ()

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Output: nei risultati verrà visualizzata l'età filtrata per più di 23 anni.

6. Utilizzo del metodo groupBy: il seguente metodo può essere utilizzato per contare il numero di studenti che hanno la stessa età.
dfs.groupBy ( “nome-colonna”). count (). show ()

Esempio: supponiamo che il nostro nome file sia student.json, quindi il nostro pezzo di codice sarà simile a:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Utilizzo della funzione SQL su SparkSession che consente all'applicazione di eseguire query di tipo SQL a livello di codice e quindi restituisce il risultato sotto forma di un frame di dati.
spark.sql (query)

Esempio: supponiamo di dover registrare il frame di dati SQL come vista temporanea, quindi:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Output: verrà creata una vista temporanea con il nome dello studente e verrà applicato uno spark.sql sopra di esso per convertirlo in un frame di dati.

8. Utilizzo della funzione SQL su una vista temporanea Spark Session for Global: Ciò consente all'applicazione di eseguire query di tipo SQL a livello di codice e quindi restituisce il risultato sotto forma di un frame di dati.
spark.sql (query)

Esempio: supponiamo di dover registrare il frame di dati SQL come vista temporanea, quindi:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Output: verrà creata una vista temporanea con il nome dello studente e verrà applicato uno spark.sql sopra di esso per convertirlo in un frame di dati.

Vantaggi di Spark DataFrame

  1. Il frame di dati è la raccolta distribuita dei dati e pertanto i dati sono organizzati in modo denominato colonna.
  2. Sono più o meno simili alla tabella nel caso di database relazionali e hanno un ricco set di ottimizzazione.
  3. I frame di dati vengono utilizzati per potenziare le query scritte in SQL e anche l'API del frame di dati
  4. Può essere utilizzato per elaborare sia tipi di dati strutturati che non strutturati.
  5. L'uso dell'ottimizzatore del catalizzatore rende l'ottimizzazione semplice ed efficace.
  6. Le librerie sono presenti in molte lingue come Python, Scala, Java e R.
  7. Questo viene utilizzato per fornire una forte compatibilità con Hive e viene utilizzato per eseguire query Hive non modificate sul magazzino hive già presente.
  8. Può scalare molto bene da pochi kb sul sistema personale a molti petabyte sui cluster di grandi dimensioni.
  9. Viene utilizzato per fornire un facile livello di integrazione con altre tecnologie e framework di big data.
  10. L'astrazione che forniscono ai RDD è efficiente e rende l'elaborazione più veloce.

Conclusione - Spark DataFrame

In questo post, hai appreso una funzionalità molto critica di Apache Spark, ovvero i frame di dati e il suo utilizzo nelle applicazioni in esecuzione oggi insieme a operazioni e vantaggi. Spero ti sia piaciuto il nostro articolo. Resta sintonizzato per altri come questi.

Articoli consigliati

Questa è stata una guida a Spark DataFrame. Qui discutiamo come creare un DataFrame? i suoi vantaggi e le diverse operazioni di DataFrames insieme al codice di esempio appropriato. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Spark Streaming
  2. Come installare Spark
  3. Carriera in Spark
  4. Domande di intervista a Spark
  5. Cornici dati in R
  6. 7 diversi tipi di join in Spark SQL (esempi)
  7. PySpark SQL | Moduli e metodi di PySpark SQL
  8. Componenti Spark | Panoramica dei componenti di Spark

Categoria: