雪花中的变更数据捕获
Posted
技术标签:
【中文标题】雪花中的变更数据捕获【英文标题】:Change data capture in snowflake 【发布时间】:2018-12-14 07:29:57 【问题描述】:我想知道是否有人知道雪花是否可以进行变更数据捕获,以及如何完成。
我似乎找不到任何关于它的文档。
谢谢
【问题讨论】:
尝试更新命令:docs.snowflake.net/manuals/sql-reference/sql/update.html 您是要捕捉 Snowflake 中发生的变化,还是要捕捉来自其他来源的变化,并将这些变化写入 Snowflake? 我正在尝试从正在写入雪花表的外部来源的数据中捕获更改 截至目前,Snowflake 不支持触发器或让您监控表中的数据更改以便您可以对其进行操作。我建议根据在表中检测到的变化编写自己的 python 代码模拟触发器。 【参考方案1】:Snowflake 中的变更数据捕获 (CDC) 可以通过流完成:https://docs.snowflake.net/manuals/user-guide/streams.html
对于具有外部来源的 CDC,您可以依赖 Alooma、Matillion、Golden Gate 等数据集成提供商或自行实施。
此外,Snowflake 还与 Kafka 集成。这样您“只”需要将更改推送到 Kafka 以与 Snowflake 集成:https://docs.snowflake.net/manuals/user-guide/kafka-connector.html
【讨论】:
【参考方案2】:如果您想使用具有成本效益的系统,请使用现有的 cdc 工具,例如 hvr-software,根据我的经验,它可以提供最好的服务。
hvr 的最佳之处在于它有许多连接器,如 s3、雪花和内置的 hive 支持,可以在我们加载的数据之上创建表。
注意:当然,snowflake 支持带有 kafka 或任何其他来源的流,但是为什么我们需要让我们的集群一直启动并运行,而不是 cdc 工具在单个 ec2 实例上运行。
【讨论】:
以上是关于雪花中的变更数据捕获的主要内容,如果未能解决你的问题,请参考以下文章