HBase核心技术点
Posted 领域见识决定专业高度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase核心技术点相关的知识,希望对你有一定的参考价值。
表的rowkey设计核心思想:
- 依据rowkey查询最快
- 对rowkey进行范围查询range
- 前缀匹配
预分区创建的三种方式
create \'ns1:t1\', \'f1\', SPLITS => [\'10\', \'20\', \'30\', \'40\']
create \'t1\', \'f1\', SPLITS => [\'10\', \'20\', \'30\', \'40\']
create \'t1\', \'f1\', SPLITS_FILE => \'/home/hadoop/data/splits.txt\', OWNER => \'johndoe\'
# 在 splits.txt 文件中指定rowkey:
10,
20,
30,
40,
50
create \'t1\', {NAME => \'f1\', VERSIONS => 5}, METADATA => { \'mykey\' => \'myvalue\' }
# 指定java预分区类名称
create \'t1\', \'f1\', {NUMREGIONS => 15, SPLITALGO => \'HexStringSplit\'}
tail -f 在命令列控制窗口中使用 tail -f,它将会以一定的时间实时追踪.
基于SQL语法查询HBase
Phoenix实现用SQL查询HBase
http://www.cnblogs.com/hbase-community/category/1181796.html
hbase二级索引
-
使用solr构建hbase二级索引:
-
使用phoenix构建HBase二级索引
HBase 表数据压缩
- snappy
HBase数据读写流程
https://blog.csdn.net/u011490320/article/details/50814967
HBse中数据管理
hbase中数据删除不是真正的删除,只是做了一个删除标记;在compaction过程中才会真正的删除。 满足删除条件的数据:
1. 做了删除标记的
2. 超过版本号限制的
3. 数据生存时间到期的
两种compaction:
1. 合并(minor)
2. 压缩合并(major)
Hive和HBase集成
- 数据存储在HBase中
- hive 表的描述信息存储在hive中
-
对应元素
- hive-table hbase-table
- hive-column hbase-rowkey,hbase-cf-column
- storehandler
-
集成方式,如果hive/lib目录中没有相关jar,需要把相关jar软连接到该目录
https://blog.csdn.net/victory0508/article/details/69258686
管理表
创建hive表的时候,指定数据存储在hbase表中。
CREATE 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表,需要对表中数据进行分析。
CREATE EXTERNAL TABLE hbase_user(id int, name string,age int)
STORED BY \'org.apache.hadoop.hive.hbase.HBaseStorageHandler\'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:age")
TBLPROPERTIES ("hbase.table.name" = "user");
本质
Hive就是HBase客户端。
sqoop 把关系型数据库数据导入到hive
HBase与Hue集成
如果跨语言需要启动thrift server
以上是关于HBase核心技术点的主要内容,如果未能解决你的问题,请参考以下文章