我有一个 Kudu 数据库,里面有一个表。每天,我都会启动一个批处理作业,它接收要摄取的新数据(ETL 管道)。
如果出现以下情况,我想插入新数据:
- 钥匙不存在
- 如果键存在,则仅当新行的时间戳列更新时才更新该行
我有一个 Kudu 数据库,里面有一个表。每天,我都会启动一个批处理作业,它接收要摄取的新数据(ETL 管道)。
如果出现以下情况,我想插入新数据:
我认为您需要的是新数据与现有表的左外连接,您首先必须将其结果保存到临时表中,然后将其移动到原始表中,使用SaveMode.Append
.
您可能还对使用 Spark Structured Streaming 或 Kafka 而不是批处理作业感兴趣。我什至在 GitHub 上找到了一个示例(但没有检查它的工作情况,以及它是否考虑了现有数据)。