很多企业和团队为了尽快让传统数据部门人员顺利接手储存在hbase中的数据操作,于是利用hive做外部表映射,通过hive来对数据进行查询和简单分析。当遇到简单场景的需求时,需要从hbase抽取数据到上层应用数据库。有人说直接通过sqoop 从hive外部表抽取不就好了。然而外部表只是一个映射,sqoop无法从外部表映射表这种表中抽取数据,那么就需要把数据先运送到hive然后在抽取到mysql。

hive> CREATE TABLE hive_admin_tmp(id  int,name string,pass string,email string);
hive> insert overwrite table hive_admin_tmp select * from hive_admin limit 2;
$sqoop export --connect jdbc:mysql://10.16.71.27:3306/basport -m 1 --table admin --export-dir /user/hive/web/hive_admin_tmp --input-fields-terminated-by '\0001'

上面是一个比较省事的办法,不过也可以自己写脚本从hbase来抽取到mysql