繁体   English   中英

jdbc源代码和Spark结构化流

[英]jdbc source and spark structured streaming

我一直在使用Spark结构化流,并且对此感到非常满意。 我目前正在执行ETL类型的活动。 我有一个基于PostgreSQL的表,其中包含元数据类型信息,我希望与流数据框架合并。

metadataDf = spark \
    .read \
    .jdbc(url=jdbcUrl, \
        table = query,
        properties = connectionProperties) 

streamDF = spark \
    .readStream \
    .option("maxFilesPerTrigger",10) \
    .option("latestFirst",True) \
    .schema(sensorSchema) \
    .json(sensorPath)

joined_metadata = streamDF \
    .join(metadataDf,["uid"],"left")

write_query = joined_metadata \
    .writeStream \
    .trigger(processingTime=arbitarytime) \
    .format("json") \
    .option("checkpointLocation",chkploc) \
    .option("path",write_path) \
    .start()

postgresql上的元数据表可以每两天更新一次。 我想知道,是否需要通过某种while循环来容纳spark上的表刷新。 或者Spark的懒惰评估会解决该特定情况。

谢谢

只要程序运行,Spark都会照顾好它。 如果您未指定触发间隔,Spark将连续处理此流(每个批次在最后一个完成后开始)

要指定触发间隔,请参见此处文档中的 df.trigger()

:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM