栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

sqoop导入数据到Hbase,作为行键的字段不会存入列簇里

sqoop导入数据到Hbase,作为行键的字段不会存入列簇里

Hbase建表

hbase shell>create 'AC01YS_1_10W', 'COLUMN'

sqoop导入数据到Hbase

sqoop import --connect jdbc:oracle:thin:@//ip:host/ORCLPDB1 --username [username] --password [password] --query "SELECt AAC001, AAC002, AAC003, AAC004, AAC005, AAC006, AAC007,  FROM AC01YS WHERe $CONDITIONS" --hbase-create-table --hbase-table AC01YS --column-family COLUMN --hbase-row-key AAC002,AAC003 -m 1;

Hbase的数据是AAC002,AAC003作为行键,下划线连接这两个字段,但是列簇里并没有AAC002和AAC003这两个字段了,有时候还需要用到这两个字段,比如要创建Hive的分区表

CREATE EXTERNAL TABLE external_hbase.ac01ys( AAC001 DECIMAL(20) COMMENT '人员id', AAC002 VARCHAr(20) COMMENT '公民身份号码', AAC003 VARCHAr(50) COMMENT '姓名', AAC004 VARCHAr(2) COMMENT '性别', AAC005 VARCHAr(2) COMMENT '民族', AAC006 DECIMAL(8) COMMENT '出生日期', AAC007 DECIMAL(8) COMMENT '参加工作日期') STORED BY 'org.apache.hadoop.hive.hbase.HbaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "COLUMN:AAC001,:key,COLUMN:AAC004,COLUMN:AAC005,COLUMN:AAC006,COLUMN:AAC007") TBLPROPERTIES("hbase.table.name" = "AC01YS");

上面创建Hive外部表会报错的,因为Hive外部表字段数和Hbase不一致。

在sqoop-site.xml中加入配置项:


    sqoop.hbase.add.row.key
    true

重新导入数据到Hbase表,就能看到Hbase表有AAC002和AAC003字段了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号