我试图用sqoop job.It将数据从oracle迁移到Hbase,看起来它已经成功导出,但是它在导入Hbase时抛出了一个错误。
Job1:
`sqoop import --verbose --connect *** --username *** --password *** --table 'abc' --columns "MID,EID,RTIMESTAMP,VALUE,UTIMESTAMP" --split-by 'abc.ID' --hbase-table "HPVSQOOP" --column-family "cf1" --hbase-row-key MID,EID,RTIMESTAMP --num-mappers 4 --hbase-bulkload在HBase中ID是主键的,但是我希望我的行键是MID_EID_RTIMESTAMP。
映射-通过抛出一个错误来减少失败:
任务Id : org.apache.sqoop.hbase.ToStringPutTransformer.getPutCommand(ToStringPutTransformer.java:146):attempt_1492489711789_0014_m_000003_2,状态: FAILED错误: java.io.IOException:未能为行键列插入行-键列: MID,EID,RTIMESTAMP,at org.apache.sqoop.mapreduce.HBaseBulkImportMapper.map(HBaseBulkImportMapper.java:83)
另一个作业--查询不适用于Hbase导入。Job2:
sqoop import --verbose --connect *** --username *** --password **' --query "select MID,EID,VALUE,RTIMESTAMP,UTIMESTAMP,ID from database.abc where \$CONDITIONS" --split-by 'abc.ID' --hbase-table "HPVSQOOP" --column-family "cf1" --hbase-row-key "MID,EID,RTIMESTAMP" --num-mappers 4 --hbase-bulkload最后抛出了一个错误:
错误sqoop.Sqoop:运行Sqoop: java.lang.NullPointerException java.lang.NullPointerException的异常
发布于 2017-11-17 05:43:03
如果您的数据库中的列名是小写,则应该在命令行中使用小写名称,如下面的--hbase-row-key "mid,eid..."
https://stackoverflow.com/questions/43635153
复制相似问题