pyspark 使用Spark复制增量源表

yk9xbfzb  于 2023-08-02  发布在  Spark
关注(0)|答案(2)|浏览(98)

SQL数据库中的源表每秒递增一次(新行)。
我想运行一些spark代码(也许使用结构化流?))每天一次(如果副本最多过期1天也没关系),以追加自上次运行代码以来的新行。副本将是Databricks上的增量表。
我不确定spark.readStream是否可以工作,因为源表不是delta,而是JDBC(SQL)

db2dz4w8

db2dz4w81#

结构化流不支持JDBC源:link
如果源表中有一个严格递增的列,则可以以批处理模式读取它,并将进度存储在目标Delta表链接中的userMetadata中。

9njqaruj

9njqaruj2#

您可以执行spark.readStream.format(“delta”)。您必须定义一个检查点,它将存储与流管道相关的所有元数据。假设您在第一次运行时流到版本2。在第二天重新启动管道时,即使源表的版本为10,流也将从版本3重新启动。

相关问题