【发布时间】:2020-03-20 17:54:34
【问题描述】:
背景
我在我们的生产雪花数据库中实现了雪花数据管道(s3 日志文件 > SNS > 管道 > 阶段表 > 流 > 任务 > 存储 proc/UDF > 最终表)。
虽然我们的开发数据库中的工作规模较小,但考虑到尝试流向它的数据量(6416006096 条记录并且还在增长),生产管道似乎已经停止工作。
问题
到目前为止,经过一些调查,看起来 s3 日志 > SNS > 管道 > 阶段表没问题,但我的事情被卡在任务从流中检索记录的地方......流不是陈旧的。我花了很多时间reading the docs on streams 并没有找到任何关于我当前问题的帮助。
看起来流有太多数据要返回——当我尝试从流中获取限制为 10 的 count(*) 或 * 时,它在 8 分钟后没有返回(并且还在计数)...
即使我可以限制返回的数据,我也尝试过,一旦您从事务中的流中进行选择,即使您不希望所有更改都丢失(即,使用 where 子句进行过滤) ...
问题
有什么方法可以在不重置的情况下从流中返回任何内容?
有没有办法在不丢失事务中所有更改的情况下对流中的结果进行分块?
流是否存在一些未记录的限制——我达到了吗?
关注
我不想关闭数据管道 bc,这意味着我可能必须重新开始,但我想如果我没有得到答复,我将不得不这样做(我也联系了支持人员,但尚未收到回复)。鉴于流和任务仍然只是预览版,我想这应该不足为奇,但有人告诉我,他们现在将是 Snowflake 的 GA。
【问题讨论】:
-
我个人使用流和任务几个月来一直没有问题。我发现您可以毫无问题地选择或不清除流。一旦您涉及 DML(例如在引用您的流时在表上运行 UPDATE、INSERT 或 DELETE),事务就会到位,这将清除您的流。你能增加你的仓库大小来选择流的内容吗?从 Stream 中选择可能是直接对 Snowflake 的一个很好的支持案例。
-
感谢您的回复 - 我有一项涉及 DML 的任务(在引用我希望分块但意识到我做不到的流时插入)。我通过将仓库大小增加到 4XL(呃)来选择工作。我有一个支持案例打开,但它可能只是数据大小的现实。
标签: snowflake-task snowflake-pipe snowflake-cloud-data-platform