报错日志
20/04/14 16:40:45 WARN mapreduce.HBaseImportJob: Could not find HBase table hbase_company
20/04/14 16:40:45 WARN mapreduce.HBaseImportJob: This job may fail. Either explicitly create the table,
20/04/14 16:40:45 WARN mapreduce.HBaseImportJob: or re-run with --hbase-create-table.
20/04/14 16:40:45 INFO zookeeper.ZooKeeper: Session: 0x36db06bc9c32fb9 closed
20/04/14 16:40:45 INFO zookeeper.ClientCnxn: EventThread shut down
失败原因
- 使用sqoop导mysql数据到HDFS,不用在hive里面建表,在跑mr任务时候自动创建hive表
- 在用sqoop导mysql数据到HDFS,没有在Hbase建表
- 查询官方文档:sqoop1.4.7只支持HBase1.0.1之前的版本的自动创建HBase表的功能
版本信息
- sqoop 版本1.4.7
- Hbase 版本2.1.1
解决方法
1、在hbase里面建表
create 'hbase_company','info'
scan 'hbase_company'
2、脚本添加参数
--hbase-create-table
附:导数据脚本
bin/sqoop import \
--connect jdbc:mysql://ip:3306/company \
--username root \
--password 000000 \
--table company \
--columns "id,name,sex" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_company" \
--num-mappers 1 \
--split-by id
转载请注明:SuperIT » 使用Sqoop导Mysql数据到Hbase报错