雪花数据管道问题-特别是流问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了雪花数据管道问题-特别是流问题相关的知识,希望对你有一定的参考价值。

背景

我在我们的生产雪花数据库中实现了雪花数据管道(s3日志文件> SNS>管道>阶段表>流>任务>存储的proc / UDF>最终表)。

[虽然在我们的开发数据库中,事情正在以较小的规模运行,但鉴于试图流处理的大量数据(6416006096记录并不断增长),生产管道似乎已停止工作。

问题

到目前为止,经过一些调查后,它看起来像s3 log> SNS> pipe>阶段表还可以,但是在任务从流中检索记录的地方,事情还是卡住了...流不是陈旧的。我已经花了很多时间reading the docs on streams,但是在我的当前问题中没有找到任何帮助。

似乎流中有太多数据要返回-当我尝试从流中获取具有限制10的count(*)或*时,它在8分钟(并计数)后没有返回...

即使我可以限制返回的数据,我也尝试过在事务中从流中进行选择后,即使不希望全部更改,也可能丢失所有更改(即,使用where子句进行过滤)。 ..

问题

是否有任何方法可以使流返回任何内容而无需重置它?

反正有没有在不丢失事务内所有更改的情况下对流中的结果进行分块的功能?

流是否存在一些未记录的限制-我达到了吗?

关注

我不想关闭数据流水线,这意味着我可能必须重新开始,但是我想如果没有答案,我将不得不这样做(我也联系了支持人员,但还没有回音)。鉴于流和任务仍仅是预览,我想这应该不足为奇,但是从Snowflake得知到现在它们将成为GA。

答案

是否有任何方法可以使流返回任何内容而无需重置它?

您应该能够从流中进行选择而无需重置它。仅在DML中使用它(例如:以流中的select *插入到mytable中)会重置它。

总有没有在不丢失事务中所有更改的情况下对流中的结果进行分块?

不,流不支持分块。

流是否存在一些未记录的限制-我达到了吗?

我不认为没有未记录的限制,流本质上是表上的范围,因此,如果基础表中有很多数据,则可能需要一段时间才能对其进行扫描。

以上是关于雪花数据管道问题-特别是流问题的主要内容,如果未能解决你的问题,请参考以下文章

雪花任务条件:当表有数据时

雪花中的管道通知绑定失败

雪花返回错误“位置 <bucket name> 上的自动摄取管道数不能大于允许的限制:50000”

如何使用 sqitch 部署雪花数据库?

刷新数据共享视图时运行雪花任务

雪花验证功能未显示错误