雪花中的 SNOWPIPE 是否 100% 可靠?
SNOWPIPE in snowflake is 100% reliable or not?
我已经使用 snowpipe 从 AWS S3 检索数据到 Snowflake,但是在我的情况,它没有按预期工作。有时文件没有处理成雪花。
是否有任何替代方法可用?
回答你的问题:是的。我过去曾在生产 (AWS) 中多次使用过它,并且它按预期工作。
据说 AWS S3 的事件处理不可靠,因为事件可能会延迟几分钟到达(这是 AWS 问题,但会影响 Snowpipe)。
补救措施是安排一个任务定期(至少每天)做:
ALTER PIPE my_pipe REFRESH [ PREFIX = '<path>' ];
请使用前缀以避免扫描大型 S3 存储桶以查找未处理的项目。另请注意 Snowflake 关于亚马逊何时修复 S3 事件问题的公告,因此您可以删除任何
不必要的 REFRESH
任务。
如果你有,例如。不幸的是,YYYY/MM/DD/
存储桶结构意味着您必须创建一个存储过程来 运行 使用动态 PREFIX
...
命令
我将此组合 (PIPE
/REFRESH TASK
) 用于我的 Snowpipes。
我已经使用 snowpipe 从 AWS S3 检索数据到 Snowflake,但是在我的情况,它没有按预期工作。有时文件没有处理成雪花。
是否有任何替代方法可用?
回答你的问题:是的。我过去曾在生产 (AWS) 中多次使用过它,并且它按预期工作。
据说 AWS S3 的事件处理不可靠,因为事件可能会延迟几分钟到达(这是 AWS 问题,但会影响 Snowpipe)。
补救措施是安排一个任务定期(至少每天)做:
ALTER PIPE my_pipe REFRESH [ PREFIX = '<path>' ];
请使用前缀以避免扫描大型 S3 存储桶以查找未处理的项目。另请注意 Snowflake 关于亚马逊何时修复 S3 事件问题的公告,因此您可以删除任何
不必要的 REFRESH
任务。
如果你有,例如。不幸的是,YYYY/MM/DD/
存储桶结构意味着您必须创建一个存储过程来 运行 使用动态 PREFIX
...
我将此组合 (PIPE
/REFRESH TASK
) 用于我的 Snowpipes。