[root@node11 ~]# sqoop import --connect 'jdbc:sqlserver://192.xxx.xxx.xxx:1433;username=xxxx;password=xxxx;database=ssws' --driver com.microsoft.sqlserver.jdbc.SQLServerDriver --columns "id,pump_type,_01SystemPressure,_28ArchiveTime,rowkey"  -table 'xxx'  --hbase-table 'xxx'  --column-family content --hbase-row-key rowkey -m 1
Warning: /root/TDH-Client/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /root/TDH-Client/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
2020-07-17 11:36:06,267 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5-transwarp-6.0.0
2020-07-17 11:36:06,368 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
2020-07-17 11:36:06,382 INFO manager.SqlManager: Using default fetchSize of 1000
2020-07-17 11:36:06,382 INFO tool.CodeGenTool: Beginning code generation
2020-07-17 11:36:06,857 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM xxx AS t WHERE 1=0
2020-07-17 11:36:06,965 ERROR orm.ClassWriter: Cannot resolve SQL type -151
2020-07-17 11:36:06,965 ERROR orm.ClassWriter: Cannot resolve SQL type -151
2020-07-17 11:36:06,965 ERROR orm.ClassWriter: Cannot resolve SQL type -151
2020-07-17 11:36:06,965 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,966 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,966 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,966 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,966 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,966 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,967 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,968 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,968 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,969 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,969 ERROR orm.ClassWriter: No Java type for SQL type -151 for column __28ArchiveTime
2020-07-17 11:36:06,969 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.sqoop.orm.ClassWriter.parseNullVal(ClassWriter.java:1322)
        at org.apache.sqoop.orm.ClassWriter.parseColumn(ClassWriter.java:1347)
        at org.apache.sqoop.orm.ClassWriter._generateParser(ClassWriter.java:1466)
        at org.apache.sqoop.orm.ClassWriter.generateParser(ClassWriter.java:1434)
        at org.apache.sqoop.orm.ClassWriter.generateClassForColumns(ClassWriter.java:1860)
        at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1672)
        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

问题是sqoop在接受sqlserver时间字段的时候,没有对应的java 对象类型进行接受。

解决方法:
1.对应的sqlserver表创建视图,把时间字段转成字符串类型。
2.修改对应的sqoop源码,这样做比较复杂。需要搭建sqoop的开发环境,测试,编译,然后打jar进行替换。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐