pyspark.sql.streaming.DataStreamReader.schema

DataStreamReader. schema ( schema : Union [ pyspark.sql.types.StructType , str ] ) → pyspark.sql.streaming.readwriter.DataStreamReader [source]

指定输入模式。

一些数据源(例如 JSON)可以从数据中自动推断输入模式。通过在此处指定模式,底层数据源可以跳过模式推断步骤,从而加快数据加载速度。

新增于版本 2.0.0。

版本 3.5.0 更改: 支持 Spark Connect。

Parameters
schema pyspark.sql.types.StructType or str

一个 pyspark.sql.types.StructType 对象或一个DDL格式的字符串 (例如 col0 INT, col1 DOUBLE )。

注释

此API正在发展中。

示例

>>> 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 ...>

下面的示例指定了一个不同的模式到CSV文件。

>>> import tempfile
>>> import time
>>> with tempfile.TemporaryDirectory() as d:
...     # Start a streaming query to read the CSV file.
...     spark.readStream.schema("col0 INT, col1 STRING").format("csv").load(d).printSchema()
root
 |-- col0: integer (nullable = true)
 |-- col1: string (nullable = true)