加载 JSON 文件流,并将结果作为数据帧返回。 默认情况下支持 JSON 行(换行分隔的 JSON)。 对于每个文件有一条记录的 JSON,请将 multiLine 选项设置为 true。 如果未 schema 指定,则从数据推断输入架构。
Syntax
json(path, schema=None, **options)
参数
| 参数 | 类型 | 说明 |
|---|---|---|
path |
str | JSON 数据集的路径。 |
schema |
StructType 或 str,可选 | 架构为结构类型或 DDL 格式的字符串(例如)。 col0 INT, col1 DOUBLE |
退货
DataFrame
示例
从临时 JSON 文件加载流:
import tempfile
import time
with tempfile.TemporaryDirectory(prefix="json") as d:
spark.createDataFrame(
[(100, "Hyukjin Kwon"),], ["age", "name"]
).write.mode("overwrite").format("json").save(d)
q = spark.readStream.schema(
"age INT, name STRING"
).json(d).writeStream.format("console").start()
time.sleep(3)
q.stop()