2017-06-01 200 views
0

解析错误在运行带水壶的转变我获得以下错误:忽略日期水壶

2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : Because of an error, this step can't continue: 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : org.pentaho.di.core.exception.KettleValueException: 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - CREATION_DATE String : couldn't convert string [20170326 01:10] to a date using format [yyyyMMdd HH:mm] on offset location 14 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - 20170326 01:10 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToDate(ValueMetaBase.java:791) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.getDate(ValueMetaBase.java:2047) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3672) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.convertBinaryStringToNativeType(ValueMetaBase.java:1371) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.getString(ValueMetaBase.java:1555) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:319) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:827) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:372) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:125) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at java.lang.Thread.run(Thread.java:745) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 - Caused by: java.text.ParseException: 20170326 01:10 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToDate(ValueMetaBase.java:782) 
2017/06/01 17:57:46 - Table PAX_TKT_UPDATES.0 -  ... 10 more 

问题:

  1. 日期20170326 01:10看起来绝对有效的格式yyyyMMdd。为什么解析错误
  2. 我已经在表格输出步骤中选择了忽略插入错误,并且忽略了插入错误(例如列约束错误)。但它似乎没有忽视数据转换错误并停止转换。我怎样才能忽略数据转换错误?

回答

3

我猜你会在位于欧洲的计算机上运行这种转换。

3月26日是3月的最后一个星期天,1时区改为夏令时。因此,在当地时间,没有这样的时间。 00:59:59到达02:00:00之后。

您在数据库中的字段可能是Datetime,它位于当地时间,因此时区在凌晨1点发生更改。您可以使用以下方法之一:

  • 将数据类型更改为UTC或固定时区;
  • 将您的数据转换为明确的时区,例如,使用格式'yyyyMMdd HH:mm +0100'