如何避免在通过spark接收数据的过程中创建重复项?

jexiocij  于 2021-05-22  发布在  Spark
关注(0)|答案(0)|浏览(428)

我每天都要阅读和储存新到的文件。这些文件是简单的csv文件,但问题是有时新到达的日志文件包含整个以前的日志文件。
例如,在这个场景中,我想保留第一天的整个文件(文件1),并将其保存到parquet。第二天,我只想存储新文件(文件2)中的两行新行。
文件1:

col1   col2   col3    dayOfProcessing
c1     c1     c1      2020-01-01
c1     c1     c1      2020-01-01
c2     c2     c2      2020-01-01
c3     c3     c3      2020-01-01

文件2:

col1   col2   col3    dayOfProcessing
c1     c1     c1      2020-01-02
c1     c1     c1      2020-01-02
c2     c2     c2      2020-01-02
c3     c3     c3      2020-01-02
c4     c4     c4      2020-01-02
c5     c5     c5      2020-01-02

预期产量:

col1   col2   col3    dayOfProcessing
c1     c1     c1      2020-01-01
c1     c1     c1      2020-01-01
c2     c2     c2      2020-01-01
c3     c3     c3      2020-01-01
c4     c4     c4      2020-01-02
c5     c5     c5      2020-01-02

有没有什么已经用过的魔法来做到这一点,而不需要阅读所有已经储存的Parquet呢?为了再次混淆,我们需要存储文件中出现的重复项(请参见c1行。)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题