【发布时间】:2015-10-16 05:31:26
【问题描述】:
我将 Greenplum 输入、TMAP 和 Greenplum 输出作为我的工作设计。 我有一个 Postgres 输入(Greenplum 输入),其中我使用这个 postgres 查询:
to_char(to_date(EI.LAST_UPDATE_DATE,'yyyy-mm-dd'),'DD-MON-YYYY')
我将此 Postgres 输入(Greenplum 输入)链接到 Tmap,其中我将 tmap 输入:LAST_UPDATE_DATE 作为日期,将模式作为"yyyy-MM-dd HH:mm:ss"。在我的 tmap 输出中,我映射了具有相似列的相似目标输出 Greenplum,并将日期和模式设置为相同,即日期和模式为 "yyyy-MM-dd HH:mm:ss"。我将此 tmap 链接到 greenplum 输出。
我收到 GreenplumInput 的错误:
类型时间戳 2008 年 11 月 11 日的错误值。
如何对这个错误进行排序?我是否将日期输入作为字符串,然后将其转换为日期?我在 tmap 本身中尝试了它,将 tmap 输出作为 talendparsedate 到该列,但它显示无法解析的日期。
【问题讨论】:
-
您对 greenplum 端的 last_update_date 列的期望是什么 - 它是一个 varchar 列还是您想将其保持为日期?如果它仍然是 greenplum 方面的预期日期,则不需要在 tpostgresinput 组件中执行 to_char() 。简单地在您的选择中选择日期作为 ei.last_update_date 并在模式中使用日期作为列数据类型和格式作为任何可用的说 yyyy-MM-dd HH:mm:ss ... 类似地在您的 tmp 中,tgreenplum 输出保持相同架构列 last_update_date 的格式和数据类型...您应该对此没有任何问题。
标签: postgresql datetime timestamp etl talend