Talend Data Integration 中的选角日期
Posted
技术标签:
【中文标题】Talend Data Integration 中的选角日期【英文标题】:Casting date in Talend Data Integration 【发布时间】:2013-05-21 07:02:47 【问题描述】:在从一个表到另一个表的数据流中,我想输入一个日期。
日期作为字符串离开源表,格式如下:“2009-01-05 00:00:00:000 + 01:00”。
我尝试使用 tConvertType 将其转换为日期,但这显然是不允许的。 我的第二个选择是使用 tMap 组件中的公式将此字符串转换为日期。
目前我尝试了这些公式:
- TalendDate.formatDate("yyyy-MM-dd",row3.rafw_dz_begi);
- TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",row3.rafw_dz_begi);
- return TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",row3.rafw_dz_begi);
这些都不起作用。将结果插入目标表(mysql、InnoDB)时,会收到日期无效的错误消息。目标字段的格式是 MySQL Date 字段。
如何将日期转换为所需的格式?
【问题讨论】:
【参考方案1】:Talend 为您提供了一种处理日期格式的好方法。
您可以在 tMap
窗口的架构编辑器选项卡中轻松更改日期格式。
它适用于tMap
输入和输出流。
我添加了一张图片以获得更好的说明。
【讨论】:
【参考方案2】:使用公式将此字符串转换为日期....错误消息 日期无效。目标字段的格式是 MySQL 日期 字段。
我从您的问题中了解到,您想在 MySQL 日期字段中插入一个日期。
但是你使用的方法,返回的是 'String' 类型。
TalendDate.formatDate(String pattern, Date date); //formats a date into Date/Time string
所以在这种情况下,如果您的字段是“日期”类型。
TalendDate.parseDate("yyyy-MM-dd", TalendDate.formatDate("yyyy-MM-dd",row3.rafw_dz_begi));
【讨论】:
以上是关于Talend Data Integration 中的选角日期的主要内容,如果未能解决你的问题,请参考以下文章
集成框架Spring Integration, Mule ESB or Apache Camel比较
tMatchGroup 在 Talend Open Studio for Big Data 中的位置
如何在 Pentaho Data Integration (Kettle) 中合并两个文件