楔子
sqoop 导入hbase做个笔记
使用的CDH学习镜像报,5.13版本的镜像
导入hbase并在hive中关联建表查询。
使用MySQL导入没问题,可以直接在hive中建表并查询,但是使用oracle导入hbase在hive没查找到,后测试,建hive表时,字段使用大写 后可以了
导入脚本和hive建表语句
sqoop导入语句
sqoop import \
--connect jdbc:oracle:thin:@127.0.0.1:1521/XE \
--username ****\
--password **** \
--table "DIC" \
--hbase-create-table \
--column-family "cf" \
--hbase-row-key "ID" \
--hbase-table "hb_sysdic" \
--num-mappers 1 \
--split-by ID\
hive建表语句
-- 不管是不是外表,实际数据存储在hbase中
CREATE EXTERNAL TABLE hive_hbase_sysdic(
ID string,
CLASS_CODE string,
CLASS_NAME string,
DATA_CODE string,
DATA_NAME string,
DATA_ORDER string,
STATE string
)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" =
":key,cf:CLASS_CODE,cf:CLASS_NAME,cf:DATA_CODE,cf:DATA_NAME,cf:REMARK,cf:STATE")
TBLPROPERTIES ("hbase.table.name" = "hb_dic")
注意族列位置,key这个位置,代替了ID
数据库驱动包放置位置
mkdir /usr/share/java
cp /tmp/ojdbc6.jar /usr/share/java/oracle-connector-java.jar
sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar