Spark SQL: set di dati JSON

Spark SQL può acquisire automaticamente lo schema di un set di dati JSON e caricarlo come DataFrame. Questa conversione può essere eseguita utilizzandoSQLContext.read.json() su un RDD di String o un file JSON.

Spark SQL offre un'opzione per eseguire query sui dati JSON insieme all'acquisizione automatica degli schemi JSON sia per la lettura che per la scrittura dei dati. Spark SQL comprende i campi nidificati nei dati JSON e consente agli utenti di accedere direttamente a questi campi senza trasformazioni esplicite.

Esempio

Consideriamo un esempio di employee registra in un file di testo denominato employee.json. Utilizzare i seguenti comandi per creare un DataFrame (df).

Leggi un documento JSON denominato employee.json con il seguente contenuto e generare una tabella basata sullo schema nel documento JSON.

employee.json - Posiziona questo file nella directory in cui si trova il file scala> il puntatore si trova.

{
   {"id" : "1201", "name" : "satish", "age" : "25"}
   {"id" : "1202", "name" : "krishna", "age" : "28"}
   {"id" : "1203", "name" : "amith", "age" : "39"}
   {"id" : "1204", "name" : "javed", "age" : "23"}
   {"id" : "1205", "name" : "prudvi", "age" : "23"}
}

Cerchiamo di eseguire alcune operazioni con i frame di dati su dati dati.

Operazioni DataFrame

DataFrame fornisce un linguaggio specifico del dominio per la manipolazione dei dati strutturati. Qui includiamo alcuni esempi di base di elaborazione di dati strutturati utilizzando DataFrame.

Seguire i passaggi indicati di seguito per eseguire le operazioni DataFrame -

Leggi il documento JSON

Prima di tutto, dobbiamo leggere il documento JSON. In base a ciò, genera un DataFrame denominatodfs.

Utilizza il seguente comando per leggere il documento JSON denominato employee.jsoncontenente i campi: id, nome ed età. Crea un DataFrame denominatodfs.

scala> val dfs = sqlContext.read.json("employee.json")

Output - I nomi dei campi vengono presi automaticamente da employee.json.

dfs: org.apache.spark.sql.DataFrame = [age: string, id: string, name: string]

Usa il metodo printSchema

Se vuoi vedere la struttura (schema) del DataFrame, usa il seguente comando.

scala> dfs.printSchema()

Output

root
   |-- age: string (nullable = true)
   |-- id: string (nullable = true)
   |-- name: string (nullable = true)

Mostra i dati

Se vuoi mostrare i dati nel DataFrame, usa il seguente comando.

scala> dfs.show()

Output - Puoi vedere i dati dei dipendenti in formato tabellare.

<console>:22, took 0.052610 s
+----+------+--------+
|age |  id  |  name  |
+----+------+--------+
| 25 | 1201 | satish |
| 28 | 1202 | krishna|
| 39 | 1203 | amith  |
| 23 | 1204 | javed  |
| 23 | 1205 | prudvi |
+----+------+--------+

Quindi possiamo eseguire diverse istruzioni SQL in esso. Gli utenti possono migrare i dati in formato JSON con il minimo sforzo, indipendentemente dall'origine dell'origine dati.