HBase数据迁移至Hive
来源:互联网 发布:弄璋乎弄瓦乎 编辑:程序博客网 时间:2024/05/30 23:29
背景:需要将HBase中表xyz(列簇cf1,列val)迁移至Hive
1. 建立Hive和HBase的映射关系
1.1 运行hive shell进入hive命令行模式,运行如下脚本
CREATE EXTERNAL TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")TBLPROPERTIES ("hbase.table.name" = "xyz", "hbase.mapred.output.outputtable" = "xyz");
(EXTERNAL表示HBase中已经存在了xyz表;如果HBase中不存在,则去掉EXTERNAL关键字,执行命令后,将会在HBase中创建xyz表)
1.2 在Hive中查看hbase_table_1
1.3在HBase中查看xyz
2. 插入数据测试
2.1 在HBase端xyz表插入数据
2.1.1 在Hive中的hbase_table_1表查看
2.2 在Hive端hbase_table_1表插入数据
2.2.1 在HBase中的xyz表查看
总结
至此其实并没有将HBase的数据迁移到Hive中,或者说是物理迁移(将HBase中的数据拷贝至Hive文件系统,并生成相应文件),只是在Hive中建了一个与HBase表有一一映射的关系表(如果熟悉关系型数据库的,可以把这种映射关系理解为关系型数据库间的DBLink。),通过Hive这个表你可以进行查询、新增,但是不能做修改、删除操作。如下图所示:
此时数据只存在于HBase中,从Hive表对应的文件目录中并没有具体文件,就可以得出这个结论。
如果需要真正在Hive中保存有数据,可以通过
create table hbase_table_hive as select * from hbase_table_1;
生成一个新的Hive表,这个表中的数据就存储在Hive文件系统中的。
0 0
- HBase数据迁移至Hive
- Oracle数据迁移至HBase操作记录
- Oracle数据迁移至HBase操作记录
- hbase数据迁移
- hbase 表数据迁移
- hbase数据迁移方式
- hbase 表数据迁移
- hbase 表数据迁移
- Hbase数据迁移
- Hbase数据迁移
- HIVE 数据迁移
- hive数据迁移
- Hive数据迁移
- hive数据迁移
- hive数据迁移
- hive数据迁移 导表
- Hive 批量数据迁移
- Hive数据导入HBase
- 如何跟开发就测试范围进行沟通?
- 判断素数及质因数分解
- 【转载】MATLAB函数句柄和匿名函数
- 44-z最小子数组
- Eclipse与MyEclipse的区别
- HBase数据迁移至Hive
- php调用云片网接口发送短信实例
- java实现HTTP的post请求 json格式中文乱码问题
- 【Netty第二章】 第一个Netty程序
- windows Linux下Java程序的启动Shell脚本
- MySQL 主从复制 + MySQL Router 部署测试
- 解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
- 怎么用U3D画 平滑曲线(贝塞尔曲线)
- Windows共享权限和相关管理