Привет! Я пытаюсь выполнить простой импорт после слияния sqoop, импорт выполнен успешно, и нулевые значения обрабатываются как --null-string '\ N' --null-non-string '\ N'. Во время слияния у меня ошибка ниже
Error: java.lang.RuntimeException: Can't parse input data: '\N'
at com.bt.dss.bigdata.geohub.codegen.Transmedia.__loadFromFields(Transmedia.java:2757)
at com.bt.dss.bigdata.geohub.codegen.Transmedia.parse(Transmedia.java:2455)
at org.apache.sqoop.mapreduce.MergeTextMapper.map(MergeTextMapper.java:53)
at org.apache.sqoop.mapreduce.MergeTextMapper.map(MergeTextMapper.java:34)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:793)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
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:1924)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:470)
at java.math.BigDecimal.<init>(BigDecimal.java:739)
at com.bt.dss.bigdata.geohub.codegen.Transmedia.__loadFromFields(Transmedia.java:2709)
... 11 more
Код выглядит следующим образом:
<action name="SQOOP_MERGE_GEOHUB_TRANSMEDIA">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<arg>merge</arg>
<arg>-Dmapred.child.java.opts=-Xmx4096m</arg>
<arg>-Dmapred.reduce.tasks=2</arg>
<arg>-Dmapred.output.compress=true</arg>
<arg>-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.BZip2Codec</arg>
<arg>--new-data</arg>
<arg>/user/${queueName}/landing/staging/${geohub_transmedia_table}/${PERIOD_DATA_DATE}</arg>
<arg>--onto</arg>
<arg>/user/${queueName}/landing/intermediate/${geohub_transmedia_table}</arg>
<arg>--target-dir</arg>
<arg>/user/${queueName}/landing/intermediate/${geohub_transmedia_table}_merged</arg>
<arg>--jar-file</arg>
<arg>${geohub_jar_file}</arg>
<arg>--class-name</arg>
<arg>com.bt.dss.bigdata.geohub.codegen.Transmedia</arg>
<arg>--merge-key</arg>
<arg>OBJECTID</arg>
<file>../${conf_location}/${geohub_jar_file}#${geohub_jar_file}</file>
<file>../${conf_location}/${ojdbc_jar_file}#${ojdbc_jar_file}</file>
</sqoop>
<ok to="GEOHUB_REMOVE_DELETED_TRANSMEDIA" />