Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memuat file JSON dan mengembalikan hasilnya sebagai DataFrame. JSON Lines (JSON yang dibatasi baris baru) didukung secara default. Untuk JSON dengan satu catatan per file, atur opsi ke multiLineTrue.
Jika schema tidak ditentukan, fungsi ini membaca input sekali untuk menentukan skema input.
Sintaksis
json(path, schema=None, **options)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
path |
str, daftar, atau RDD | Jalur ke himpunan data JSON, daftar jalur, atau RDD string yang menyimpan objek JSON. |
schema |
StructType atau str, opsional | Skema input opsional sebagai StructType objek atau string berformat DDL (misalnya, 'col0 INT, col1 DOUBLE'). |
Pengembalian Barang
DataFrame
Examples
Tulis DataFrame ke dalam file JSON dan baca kembali.
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|
# +---+-------+
Baca JSON dari beberapa direktori.
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|
# +---+-----+
Baca JSON dengan skema kustom.
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|
# +----+---+