Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Lädt JSON-Dateien und gibt die Ergebnisse als ein DataFrame. JSON-Zeilen (durch Zeilentrennzeichen getrennte JSON) werden standardmäßig unterstützt. Legen Sie für JSON mit einem Datensatz pro Datei die multiLine Option auf True.
Wenn schema nicht angegeben, liest diese Funktion die Eingabe einmal, um das Eingabeschema zu bestimmen.
Syntax
json(path, schema=None, **options)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
path |
str, list oder RDD | Ein Pfad zum JSON-Dataset, eine Liste von Pfaden oder eine RDD von Zeichenfolgen, die JSON-Objekte speichern. |
schema |
StructType oder str, optional | Ein optionales Eingabeschema als StructType Objekt oder eine DDL-formatierte Zeichenfolge (z. B 'col0 INT, col1 DOUBLE'. ). |
Rückkehr
DataFrame
Beispiele
Schreiben Sie einen DataFrame in eine JSON-Datei, und lesen Sie es zurück.
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|
# +---+-------+
Lesen Sie JSON aus mehreren Verzeichnissen.
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|
# +---+-----+
Lesen sie JSON mit einem benutzerdefinierten 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|
# +----+---+