Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Загружает JSON-файлы и возвращает результаты в виде DataFrame. Строки JSON (json с разделителями newline) поддерживаются по умолчанию. Для JSON с одной записью multiLine для каждого файла задайте для параметра Trueзначение .
Если schema это не указано, эта функция считывает входные данные один раз, чтобы определить входную схему.
Синтаксис
json(path, schema=None, **options)
Параметры
| Параметр | Тип | Описание |
|---|---|---|
path |
str, list или RDD | Путь к набору данных JSON, списку путей или RDD строк, которые хранят объекты JSON. |
schema |
StructType или str, необязательный | Необязательная входная схема в виде StructType объекта или отформатированного DDL-строки (например, 'col0 INT, col1 DOUBLE'). |
Возвраты
DataFrame
Примеры
Напишите кадр данных в JSON-файл и считывает его обратно.
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|
# +---+-------+
Чтение JSON из нескольких каталогов.
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|
# +---+-----+
Чтение JSON с помощью пользовательской схемы.
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|
# +----+---+