如何使用带有 Databricks 的 Apache Spark 从 SQL Table 流式传输数据
How to stream data from SQL Table with Apache Spark with Databricks
我正在尝试使用以下内容从 sql table 流式传输:
my_sales = spark.read.jdbc(jdbcUrl, dbo.table)
static = spark.read.format("csv").load(my_sales)
dataSchema = static.schema
我正在尝试使用以下内容从 table 中读取数据:
rawdf = (spark.readStream
.format("csv") \
.option("maxFilesPerTrigger", 1) \
.schema(dataSchema) \
.csv(dataPath)
)
我正在使用以下方法将数据写入以下位置
saveloc = '/mnt/raw/streaminglocation/'
streamingQuery = (
rawdf
.writeStream
.format("csv")
.outputMode("append")
.option("checkpointLocation", f"{saveloc}/_checkpoints")
.option("mergeSchema", "true")
.start(saveloc)
)
然而这失败了。
是否可以从 SQL table 进行流式传输?
这是不可能的。 JDBC Spark 结构化流不支持源。
也不相信前期编码。
将 CDC 与 Kafka 一起使用,或者将 CDC 与 KAFKA 或 Debezium 一起使用物化可更新视图。
我正在尝试使用以下内容从 sql table 流式传输:
my_sales = spark.read.jdbc(jdbcUrl, dbo.table)
static = spark.read.format("csv").load(my_sales)
dataSchema = static.schema
我正在尝试使用以下内容从 table 中读取数据:
rawdf = (spark.readStream
.format("csv") \
.option("maxFilesPerTrigger", 1) \
.schema(dataSchema) \
.csv(dataPath)
)
我正在使用以下方法将数据写入以下位置
saveloc = '/mnt/raw/streaminglocation/'
streamingQuery = (
rawdf
.writeStream
.format("csv")
.outputMode("append")
.option("checkpointLocation", f"{saveloc}/_checkpoints")
.option("mergeSchema", "true")
.start(saveloc)
)
然而这失败了。
是否可以从 SQL table 进行流式传输?
这是不可能的。 JDBC Spark 结构化流不支持源。
也不相信前期编码。
将 CDC 与 Kafka 一起使用,或者将 CDC 与 KAFKA 或 Debezium 一起使用物化可更新视图。