首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqoop2 Hbase导入:无法为行键列插入带空值的行

Sqoop2 Hbase导入:无法为行键列插入带空值的行
EN

Stack Overflow用户
提问于 2017-04-26 13:06:44
回答 1查看 1.1K关注 0票数 0

我试图用sqoop job.It将数据从oracle迁移到Hbase,看起来它已经成功导出,但是它在导入Hbase时抛出了一个错误。

Job1:

代码语言:javascript
复制
​ `​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:

代码语言:javascript
复制
​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的异常

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 05:43:03

如果您的数据库中的列名是小写,则应该在命令行中使用小写名称,如下面的--hbase-row-key "mid,eid..."

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43635153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档