首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有复制的雪花

有复制的雪花
EN

Stack Overflow用户
提问于 2020-04-24 15:11:51
回答 2查看 1.1K关注 0票数 0

在我的用例中,我的计划工作读取CSV并写入雪花。

当我计划这个从CSV读,并写到雪花每小时,我看到多个副本在雪花。尽管我的ID是主键( (column1) ),但这仍然存在。

据我所知,雪花支持定义和维护约束,但不强制它们,除非非空约束,这些约束总是被强制执行的。我需要帮助来解决这个问题.

为了详细说明,让我们考虑一下场景:

步骤1:上午9点将数据从CSV插入到雪花ID Customer name Price 1111 John Mathew 10 1112 David Becham 20

步骤2:在晚上10点,我得到了另外一行,因此我的CSV是ID Customer name Price 1111 John Mathew 10 1112 David Becham 20 1113 Hello World 40

预计在雪花

ID Customer name Price 1111 John Mathew 10 1112 David Becham 20 1113 Hello World 40

我得到的是如下所示的 ID Customer name Price 1111 John Mathew 10 1112 David Becham 20 1113 Hello World 40 1111 John Mathew 10 1112 David Becham 20

EN

回答 2

Stack Overflow用户

发布于 2020-04-24 15:38:00

如果你提供了你的代码会有帮助的。看起来您正在更新CSV,这意味着雪花将整个文件视为要加载的新文件,然后再加载整个文件。如果您只是运行一个没有下游逻辑的COPY INTO命令,那么就会发生这种情况。

有两种选择:

1)不要更新CSV file...just,用新的数据创建一个新的CSV。然后,COPY INTO命令将正常工作。

2)如果您还接收到以前记录的更新,那么您应该将一个COPY INTO运行到一个临时表中,然后将该数据运行到主键上的最后一个表中。

票数 0
EN

Stack Overflow用户

发布于 2021-03-22 11:49:30

创建另一个表(第二个表)来存储去重复的记录.第一个表将从源(CSV)获取数据。然后在第一个表的顶部创建一个流来捕获更改。然后为该流创建一个任务,该任务将将(插入/更新)数据合并到第二个表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61411575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档