Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Charge les fichiers JSON et retourne les résultats sous forme DataFramede . Les lignes JSON (JSON délimité par une nouvelle ligne) sont prises en charge par défaut. Pour JSON avec un enregistrement par fichier, définissez l’option multiLineTruesur .
Si schema elle n’est pas spécifiée, cette fonction lit une fois l’entrée pour déterminer le schéma d’entrée.
Syntaxe
json(path, schema=None, **options)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
path |
str, list ou RDD | Chemin d’accès au jeu de données JSON, liste de chemins d’accès ou RDD de chaînes stockant des objets JSON. |
schema |
StructType ou str, facultatif | Schéma d’entrée facultatif en tant qu’objet StructType ou chaîne au format DDL (par exemple). 'col0 INT, col1 DOUBLE' |
Retours
DataFrame
Exemples
Écrivez un DataFrame dans un fichier JSON et lisez-le.
import tempfile
with tempfile.TemporaryDirectory(prefix="json") as d:
spark.createDataFrame(
[{"age": 100, "name": "Hyukjin"}]
).write.mode("overwrite").format("json").save(d)
spark.read.json(d).show()
# +---+-------+
# |age| name|
# +---+-------+
# |100|Hyukjin|
# +---+-------+
Lisez JSON à partir de plusieurs répertoires.
from tempfile import TemporaryDirectory
with TemporaryDirectory(prefix="json2") as d1, TemporaryDirectory(prefix="json3") as d2:
spark.createDataFrame(
[{"age": 30, "name": "Bob"}]
).write.mode("overwrite").format("json").save(d1)
spark.createDataFrame(
[{"age": 25, "name": "Alice"}]
).write.mode("overwrite").format("json").save(d2)
spark.read.json([d1, d2]).show()
# +---+-----+
# |age| name|
# +---+-----+
# | 25|Alice|
# | 30| Bob|
# +---+-----+
Lisez JSON avec un schéma personnalisé.
import tempfile
with tempfile.TemporaryDirectory(prefix="json") as d:
spark.createDataFrame(
[{"age": 30, "name": "Bob"}]
).write.mode("overwrite").format("json").save(d)
spark.read.json(d, schema="name STRING, age INT").show()
# +----+---+
# |name|age|
# +----+---+
# | Bob| 30|
# +----+---+