載入 CSV 檔案串流,並以 DataFrame 回傳結果。 如果 inferSchema 啟用了,函式會先通過輸入一次以決定結構。 為避免此路徑,請 inferSchema 停用或明確指定該 schema結構。
語法
csv(path, schema=None, **options)
參數
| 參數 | 類型 | 說明 |
|---|---|---|
path |
str | CSV 輸入的路徑。 |
schema |
結構類型或力量,選用 | Schema 作為 StructType 或 DDL 格式的字串(例如 col0 INT, col1 DOUBLE)。 |
退貨
DataFrame
Examples
從暫存的 CSV 檔案載入串流:
import tempfile
import time
with tempfile.TemporaryDirectory(prefix="csv") as d:
spark.createDataFrame([(1, "2"),]).write.mode("overwrite").format("csv").save(d)
q = spark.readStream.schema(
"col0 INT, col1 STRING"
).format("csv").load(d).writeStream.format("console").start()
time.sleep(3)
q.stop()