1.Hive内部表,语句如下

CREATE TABLE ods.s01_buyer_calllogs_info_ts(
key string comment "hbase rowkey",
buyer_mobile string comment "手机号",
contact_mobile string comment "对方手机号",
call_date string comment "发生时间",
call_type string comment "通话类型",
init_type string comment "0-被叫,1-主叫",
other_cell_phone string comment "对方手机号",
place string comment "呼叫发生地",
start_time string comment "发生时间",
subtotal string comment "通话费用",
use_time string comment "通话时间(秒)"
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,record:buyer_mobile,record:contact_mobile,record:call_date,record:call_type,record:init_type,record:other_cell_phone,record:place,record:start_time,record:subtotal,record:use_time")
TBLPROPERTIES("hbase.table.name" = "s01_buyer_calllogs_info_ts");

建好表之后,进入hbase shell执行list能看到表s01_buyer_calllogs_info_ts,hive drop掉此表时,hbase也被drop。

2.Hive外部表,语句如下,

create 'buyer_calllogs_info_ts', 'record', {SPLITS_FILE => 'hbase_calllogs_splits.txt'}

CREATE EXTERNAL TABLE ods.s10_buyer_calllogs_info_ts(
key string comment "hbase rowkey",
buyer_mobile string comment "手机号",
contact_mobile string comment "对方手机号",
call_date string comment "发生时间",
call_type string comment "通话类型",
init_type string comment "0-被叫,1-主叫",
other_cell_phone string comment "对方手机号",
place string comment "呼叫发生地",
start_time string comment "发生时间",
subtotal string comment "通话费用",
use_time string comment "通话时间(秒)"
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,record:buyer_mobile,record:contact_mobile,record:call_date,record:call_type,record:init_type,record:other_cell_phone,record:place,record:start_time,record:subtotal,record:use_time")
TBLPROPERTIES("hbase.table.name" = "buyer_calllogs_info_ts");

从方式需要先在hbase建好表,然后在hive中建表,hive drop掉表,hbase表不会变。

3.Hive映射HBase的列族

CREATE TABLE hbase_table_1(value map<string,int>, row_key int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = "cf:,:key"
);
INSERT OVERWRITE TABLE hbase_table_1 SELECT map(bar, foo), foo FROM pokes
WHERE foo=98 OR foo=100;

  在hbase查看结果

hbase(main):012:0> scan "hbase_table_1"
ROW COLUMN+CELL
100 column=cf:val_100, timestamp=1267739509194, value=100
98 column=cf:val_98, timestamp=1267739509194, value=98
2 row(s) in 0.0080 seconds
在hive查看结果
hive> select * from hbase_table_1;
Total MapReduce jobs = 1
Launching Job 1 out of 1
...
OK
{"val_100":100} 100
{"val_98":98} 98
Time taken: 3.808 seconds

两种方式可以根据需求确定,详细参见官方文档

最新文章

  1. 《学技术练英语》PPT分享
  2. Leetcode 18. 4Sum
  3. webapi swagger自定义 HTTP Header验证用户
  4. Linux(三)__文件权限、系统的查找、文本编辑器
  5. Spring MVC中Action使用总结
  6. Unity 5 中的全局光照技术详解
  7. codeforces 557B. Pasha and Tea 解题报告
  8. Keil MDK 无法设置断点【worldsing】
  9. mha日常维护命令
  10. PCB 敷铜间距规则(转)
  11. jQueryMobile之弹出对话框
  12. POJ 2112 Optimal Milking (二分 + floyd + 网络流)
  13. Angular2 + NativeScript 跨平台开发笔记(一)
  14. c++类的基础
  15. A+B大数运算
  16. JS碰撞检测
  17. APIView和View的区别
  18. jQuery中的$.each的用法
  19. Python3基础 print(,end=) 输出内容的末尾加入空格
  20. 通过unixODBC访问PostgreSQL数据库

热门文章

  1. MySQL解决存入数据库和取出数据库时间格式问题
  2. spring 5.x 系列第20篇 ——spring简单邮件、附件邮件、内嵌资源邮件、模板邮件发送 (代码配置方式)
  3. 向Rocket.Chat推送消息
  4. Mac安装MySQL-python报错解决
  5. C# 连接数据库等
  6. redux和react-redux做简单组件控制
  7. Excel中PMT函数的Java实现
  8. 《An Attentive Survey of Attention Models》阅读笔记
  9. Java 7 源码学习系列(一)——String
  10. java算法题每日一练01,java入门简单算法题小练