通过SQL 操作大数据Hbase数据表的方法

类SQL语句操作Hbase表

1、Phoenix 操作Hbase

  • Phoenix它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase。
  • Phoenix它有支持二级索引的查询优势,并且在读取和写入数据之外,可以用SQL的方式按照Hbase表特点创建表。

质量博文:Phoenix的安装使用与SQL查询HBase

2、Hive、Impala 操作Hbase

  • 这种操作方式先需有Hbase表,然后通过Hive外部表创建方式将hbase表映射创建为Hive外部表,这事就可以通过HiveQL进行Hbase中的数据表查询和写入,但是运算引擎是MapReduce,适合批处理。
  • Impala通过刷新hive表的metadata,就可以通过Impala以SQL语句的进行MPP方式的数据查询和写入,Impala是基于内存做并行计算,速度。同时Impala更加接近标准Sql语义。
--1. 创建hbase表
create 'test_info', 'info'
put 'test_info','1','info:name','zhangsan’
put 'test_info','2','info:name','lisi'

--2. 创建hive外部表
CREATE EXTERNAL TABLE test_info(key string,name string )
ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe'
STORED by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,info:name")
TBLPROPERTIES
("hbase.table.name" = "test_info");

--3. impala刷新hive元数据
invalidate metadata

虽然HBase本身不支持SQL,但业界还是有现成的方案来支持,如Hive、Impala、Phoenix等。众多方案各有各的优势。

发布了67 篇原创文章 · 获赞 1 · 访问量 701
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览