comment lire json avec le schéma spark dataframes/spark sql
sql/dataframes,
merci de m'aider ou fournir quelques bonnes suggestions sur la façon de lire ce json
{
"billdate":"2016-08-08',
"accountid":"xxx"
"accountdetails":{
"total":"1.1"
"category":[
{
"desc":"one",
"currentinfo":{
"value":"10"
},
"subcategory":[
{
"categoryDesc":"sub",
"value":"10",
"currentinfo":{
"value":"10"
}
}]
}]
}
}
Merci,
Merci Xander! pour la mise en forme au format JSon!
OriginalL'auteur raj kumar | 2016-09-06
Vous devez vous connecter pour publier un commentaire.
Semble que votre json n'est pas valide.
pls vérifier avec http://www.jsoneditoronline.org/
Veuillez voir an-introduction-to-json-support-in-spark-sql.html
si vous souhaitez vous inscrire en tant que le tableau vous pouvez vous inscrire comme ci-dessous et imprimer le schéma.
Ci-dessous est un exemple de code snippet
Exemple avec scala :
De lecture de haut niveau de champ
Utiliser la méthode select() pour spécifier le champ de niveau supérieur, collect() pour recueillir dans un Tableau[Ligne], et la méthode getString() pour accéder à une colonne à l'intérieur de chaque Ligne.
Aplatir et Lire un Tableau JSON
chaque Personne dispose d'un réseau de "villes". Let's aplatir ces tableaux et de lire l'ensemble de leurs éléments.
L'explode() la méthode explose, ou s'aplatit, les villes de tableau dans une nouvelle colonne nommée "ville". Nous avons ensuite utiliser select() pour sélectionner la nouvelle colonne, collect() pour recueillir dans un Tableau[Ligne], et getString() pour accéder aux données à l'intérieur de chaque Ligne.
Lire un Tableau d'imbrication des Objets JSON, non aplati.
lire les "écoles" de données, qui est un tableau d'imbrication des objets JSON. Chaque élément du tableau contient le nom de l'école et de l'année:
Utilisation
select()
etcollect()
pour sélectionner les "écoles" de tableau et de les collecter dans unArray[Row]
. Maintenant, chaque "écoles" de la matrice est de typeList[Row]
, nous avons donc le lire avec legetSeq[Row]()
méthode. Enfin, on peut lire l'information pour chaque école, en appelantgetString()
pour le nom de l'école etgetLong()
pour l'année scolaire.j'ai plus de champs dans le json que ce que j'ai mentionnées ici, donc je veux mettre mon schéma lors de la lecture du json et d'en extraire seulement ceux classés et flattern à des tables.
OriginalL'auteur Ram Ghadiyaram
Vous pouvez essayer le code suivant pour lire le fichier JSON basée sur un Schéma Étincelle 2.2
OriginalL'auteur Raghavan