Freigeben über


Schema (DataStreamReader)

Gibt das Eingabeschema an. Einige Datenquellen (z. B. JSON) können das Eingabeschema automatisch aus Daten ableiten. Wenn Sie das Schema hier angeben, kann die Datenquelle schemainference überspringen und das Laden von Daten beschleunigen.

Syntax

schema(schema)

Parameter

Parameter Typ Beschreibung
schema StructType oder str Ein StructType-Objekt oder eine DDL-formatierte Zeichenfolge (z. B col0 INT, col1 DOUBLE. ).

Rückkehr

DataStreamReader

Beispiele

from pyspark.sql.types import StructField, StructType, StringType
spark.readStream.schema(StructType([StructField("data", StringType(), True)]))
# <...streaming.readwriter.DataStreamReader object ...>
spark.readStream.schema("col0 INT, col1 DOUBLE")
# <...streaming.readwriter.DataStreamReader object ...>

Geben Sie ein anderes Schema für eine CSV-Datei an:

import tempfile
with tempfile.TemporaryDirectory(prefix="schema") as d:
    spark.readStream.schema("col0 INT, col1 STRING").format("csv").load(d).printSchema()
    # root
    #  |-- col0: integer (nullable = true)
    #  |-- col1: string (nullable = true)