在 Meltano 中运行 dbt 作业时,dbt run如果超出触发上下文,作业可能会相互冲突 - 例如,当按需作业与计划作业或基于 CI 的作业发生冲突时。
如果dbt run同时对同一个表进行操作,如果对单个目标表执行两次相同的插入,通常会导致崩溃,有时还会导致数据质量问题。
有什么方法可以使用 Meltano 功能或本机 dbt 功能来防止运行冲突?
有时我们想要覆盖流的关键属性(主键)或其增量复制键。在 Meltano 执行此操作的最佳方法是什么?
我有一个带有 type 列的表TIMESTAMP WITH TIME ZONE,我尝试简单地操作SELECT * FROM table,但收到以下消息:
postgresql 错误:“datetime.timedelta”和“int”实例之间不支持“>=”
我输入的数据不正确吗?
creation_datetime = datetime.now(timezone.utc)
...
new_record = {
"key": valid_value.contract.symbol.lower(),
"datetime_downloaded_from_api": creation_datetime
}
yield new_record
Run Code Online (Sandbox Code Playgroud)
我使用 Meltano 和歌手自定义 TAP 来检索和输入数据。Meltano Tapsstreams.py有我描述数据列的部分并执行此操作
schema = th.PropertiesList(
th.Property("datetime_downloaded_from_api", th.DateTimeType),
th.Property("contract_id", th.IntegerType)
).to_dict()
Run Code Online (Sandbox Code Playgroud)