Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Carrega arquivos JSON e retorna os resultados como um DataFrame. As linhas JSON (JSON delimitado por nova linha) têm suporte por padrão. Para JSON com um registro por arquivo, defina a opção multiLine como True.
Se schema não for especificado, essa função lerá a entrada uma vez para determinar o esquema de entrada.
Sintaxe
json(path, schema=None, **options)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
path |
str, list ou RDD | Um caminho para o conjunto de dados JSON, uma lista de caminhos ou um RDD de cadeias de caracteres que armazenam objetos JSON. |
schema |
StructType ou str, opcional | Um esquema de entrada opcional como um StructType objeto ou uma cadeia de caracteres formatada em DDL (por exemplo, 'col0 INT, col1 DOUBLE'). |
Devoluções
DataFrame
Exemplos
Escreva um DataFrame em um arquivo JSON e leia-o novamente.
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|
# +---+-------+
Leia JSON de vários diretórios.
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|
# +---+-----+
Leia JSON com um esquema personalizado.
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|
# +----+---+