Erreur _corrupt_record lors de la lecture d'un fichier JSON dans Spark
J'ai ce fichier JSON
{
"a": 1,
"b": 2
}
qui a été obtenu avec Python json.méthode de vidage.
Maintenant, je veux lire ce fichier dans un DataFrame Spark, à l'aide de pyspark. En suivant la documentation, je suis en train de faire ce
sc = SparkContext()
sqlc = SQLContext(sc)
df = sqlc.lire.json('my_file.json')
impression df.show()
L'instruction print crache sur ce bien:
+---------------+
|_corrupt_record|
+---------------+
| {|
| "a": 1, |
| "b": 2|
| }|
+---------------+
Quelqu'un sait ce qu'il se passe et pourquoi il n'est pas d'interpréter correctement le fichier?
source d'informationauteur mar tin
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir un objet json par ligne dans votre fichier d'entrée, voir http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrameReader.json
Si votre fichier json ressemble à cela, il va vous donner l'attend dataframe:
Si vous voulez laisser votre fichier JSON comme elle est (sans la dépouiller de nouvelles lignes de caractères
\n
), comprennentmultiLine=True
argument mot-cléL'ajout de @Bernhard grande réponse
Spark 2.2+ vous pouvez lire fichier json de multiligne utilisant la commande suivante.
si il n'y a d'objet json par ligne puis,