json (DataFrameReader)

JSON dosyalarını yükler ve sonuçları olarak DataFramedöndürür. JSON Satırları (yeni satırla ayrılmış JSON) varsayılan olarak desteklenir. Dosya başına bir kaydı olan JSON için seçeneğini olarak multiLineayarlayınTrue.

Belirtilmezse schema , bu işlev giriş şemasını belirlemek için girişi bir kez okur.

Sözdizimi

json(path, schema=None, **options)

Parametreler

Parametre Türü Açıklama
path str, list veya RDD JSON veri kümesinin yolu, yolların listesi veya JSON nesnelerini depolanan dizelerin RDD'sini.
schema StructType veya str, isteğe bağlı Nesne olarak isteğe bağlı giriş StructType şeması veya DDL biçimli dize (örneğin, 'col0 INT, col1 DOUBLE').

İadeler

DataFrame

Örnekler

Bir JSON dosyasına DataFrame yazın ve yeniden okuyun.

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|
    # +---+-------+

Birden çok dizinden JSON okuyun.

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|
    # +---+-----+

Özel şema ile JSON'i okuyun.

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|
    # +----+---+