首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Singer上提供Meltano CI/CD管道的相对启动日期

如何在Singer上提供Meltano CI/CD管道的相对启动日期
EN

Stack Overflow用户
提问于 2022-01-04 20:11:58
回答 1查看 148关注 0票数 1

当我们运行Meltano构建/测试周期(例如在CI/CD管道中)时,我们希望我们的Singer管道运行如下:

  1. 不要使用可能允许流完全没有意义运行的预捕获状态书签。(例如,如果没有新记录,或者没有足够的新记录来触发代表性测试。)

  1. 不需要开发人员不断地推进硬编码的start_date。(最初对一个月数据进行的“快速”测试最终会成为一个运行时间更长的测试,涵盖多个月。)

对于任何点击名称tap-mysource,我们应该能够设置$TAP_MYSOURCE_START_DATE以提供默认的start_date配置值。为CI构建提供默认相对启动时间的好方法是什么?例如,滚动21天窗口?

我认为大多数用例可能运行在GitHub操作上,但我们也使用GitLab CI。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-01 15:58:38

到目前为止,还没有一种表达式语言可以执行today()-n并以这种方式提供相对的开始日期。但是,您可以在执行之前用相对日期初始化环境变量,Meltano可以通过命名约定<PLUGIN_NAME>_<SETTING_NAME>将该动态输入传递给tap。

根据您的操作系统风格,这可能需要稍加调整:

对Mac:

代码语言:javascript
复制
N_DAYS=1
TAP_MYSOURCE_START_DATE=$(date -v-1d "+%Y-%m-%d")
echo "Using dynamic start date of today-$N_DAYS: $TAP_MYSOURCE_START_DATE"
meltano elt tap-mysource target-mydest

关于Ubuntu:

代码语言:javascript
复制
N_DAYS=1
TAP_MYSOURCE_START_DATE=$(date +%Y-%m-%d -d "$N_DAYS day ago")
echo "Using dynamic start date of today-$N_DAYS: $TAP_MYSOURCE_START_DATE"
meltano elt tap-mysource target-mydest

参考:

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

https://stackoverflow.com/questions/70584527

复制
相关文章

相似问题

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