HBase核心技术点

Posted 领域见识决定专业高度

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase核心技术点相关的知识,希望对你有一定的参考价值。

表的rowkey设计核心思想:

  1. 依据rowkey查询最快
  2. 对rowkey进行范围查询range
  3. 前缀匹配

预分区创建的三种方式

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二级索引

  1. 使用solr构建hbase二级索引:

    https://www.cnblogs.com/kekukekro/p/6340944.html

  2. 使用phoenix构建HBase二级索引

    https://www.2cto.com/net/201702/601121.html

HBase 表数据压缩

  1. 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中
  • 对应元素

    1. hive-table hbase-table
    2. hive-column hbase-rowkey,hbase-cf-column
    3. 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核心技术点的主要内容,如果未能解决你的问题,请参考以下文章

CSP核心代码片段记录

关于Java核心技术书中的代码点和代码单元是怎么理解的呢?

关于Java核心技术书中的代码点和代码单元是怎么理解的呢?

HBase笔记:对HBase原理的简单理解

Java itext为pdf 文件添加水印核心功能代码片段

详细解剖大型H5单页面应用的核心技术点