Я пытаюсь экспортировать файл из улья, который имеет одно поле в качестве метки времени ('2016-05-21 02:00:00'
) в teradata. Тип данных в teradata - timestamp(0)
, который может ожидать аналогичный формат.Экспорт Sqoop из улья в teradata не работает с полем временной метки
Когда я пытаюсь экспортировать его с помощью sqoop, он дает строку для ошибки преобразования времени. Любые обходные пути это очень поможет.
Примечание:
String
в улей, чтобыVarchar(256)
в Teradata работает.String
в улье доtimestamp(0)
в teradata не удается.Timestamp
в улье доtimestamp(0)
в teradata не удается.
Журналы:
16/07/12 12:24:20 INFO mapreduce.Job: map 0% reduce 0%
16/07/12 12:24:27 INFO mapreduce.Job: Task Id : attempt_1467306662019_8607_m_000001_0, Status : FAILED
Error: java.lang.RuntimeException: Unparseable date: "2016-07-11 22:36:55"
at com.teradata.connector.common.converter.ConnectorDataTypeConverter$StringFMTTZToTimestampTZ.convert(ConnectorDataTypeConverter.java:1679)
at com.teradata.connector.teradata.converter.TeradataConverter.convert(TeradataConverter.java:143)
at com.teradata.connector.common.ConnectorOutputFormat$ConnectorFileRecordWriter.write(ConnectorOutputFormat.java:106)
at com.teradata.connector.common.ConnectorOutputFormat$ConnectorFileRecordWriter.write(ConnectorOutputFormat.java:65)
at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:658)
at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)
at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)
at com.teradata.connector.common.ConnectorMMapper.map(ConnectorMMapper.java:129)
at com.teradata.connector.common.ConnectorMMapper.run(ConnectorMMapper.java:117)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1709)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
Какова ваша команда экспорта? –
sqoop export -D mapred.job.queue.name = TestBatch -D mapred.output.compress = true -D mapred.output.compression.codec = org.apache.hadoop.io.compress.SnappyCodec --connect jdbc: teradata : //xxx.yy.zz.fff/Database=dev_stg - connect-manager org.apache.sqoop.teradata.TeradataConnManager - проверка имени пользователя --password test --table dev_stg.bag --export-dir "/ dwh/data/event/bag/"-input-fields-terminated-by '\ 001' --null-string '\ N' --null-non-string '\ N' – Austin
Он отлично работал с временной отметкой ** hive к метке времени teradata (6) ** _ (по умолчанию) _. Можете ли вы повторно запустить команду с помощью '-verbose' в конце для расширенных журналов? –