Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Laadt JSON-bestanden en retourneert de resultaten als een DataFrame. JSON-lijnen (JSON met newline-scheidingstekens) worden standaard ondersteund. Voor JSON met één record per bestand stelt u de multiLine optie in op True.
Als schema deze functie niet is opgegeven, wordt de invoer eenmaal gelezen om het invoerschema te bepalen.
Syntaxis
json(path, schema=None, **options)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
path |
str, list of RDD | Een pad naar de JSON-gegevensset, een lijst met paden of een RDD met tekenreeksen die JSON-objecten opslaan. |
schema |
StructType of str, optioneel | Een optioneel invoerschema als een StructType object of een DDL-opgemaakte tekenreeks (bijvoorbeeld 'col0 INT, col1 DOUBLE'). |
Retouren
DataFrame
Examples
Schrijf een DataFrame naar een JSON-bestand en lees het terug.
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|
# +---+-------+
Lees JSON uit meerdere mappen.
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|
# +---+-----+
Lees JSON met een aangepast schema.
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|
# +----+---+