2017-06-01 193 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'