IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Phoenix创建Hbase二级索引 -> 正文阅读

[大数据]Phoenix创建Hbase二级索引

Phoenix创建Hbase二级索引

第1章 Phoenix简介

1.1 Phoenix定义

Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。

1.2 Phoenix特点

  1. 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。

  2. 性能好:直接使用HBase API以及协处理器和自定义过滤器,可以为小型查询提供毫秒级的性能,或者为数千万行提供数秒的性能。

  3. 操作简单:DML命令以及通过DDL命令创建表和版本化增量更改。

  4. 安全功能: 支持GRANT和REVOKE

  5. 完美支持Hbase二级索引创建。

第2章 Phoenix创建Hbase二级索引

2.1 配置Hbase支持Phoenix创建二级索引

2.1.1 添加如下配置到Hbase的Hregionserver节点的hbase-site.xml

  <!-- phoenix regionserver 配置参数  --> 
<property>  
    <name>hbase.regionserver.wal.codec</name>  			     
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>  
</property>     

<property>  
    <name>hbase.region.server.rpc.scheduler.factory.class</name>  
    <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>  
    <description>Factory  to create the Phoenix RPC Scheduler that uses separate queues for index and  metadata updates</description>  
</property>     

<property>  
    <name>hbase.rpc.controllerfactory.class</name>  
    <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>  
    <description>Factory  to create the Phoenix RPC Scheduler that uses separate queues for index and  metadata updates</description>  
</property>     

2.1.2 添加如下配置到Hbase中Hmaster节点的hbase-site.xml中

  <!-- phoenix master 配置参数  -->  
<property>  
    <name>hbase.master.loadbalancer.class</name>  
    <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>  
</property>  

<property>  
    <name>hbase.coprocessor.master.classes</name>      
    <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>  
</property>  

2.1.3 常见问题汇总:

1)注意:网上配置文档里有这一条,但在实际测试中(测试环境hbase-1.3.1,网上0.98.6),加入该条的regionserver会在hbase启动时失败,对应节点上没有HregionServer进程,去掉该配置后正常启动,且能正常创建local index。

<property>  
    <name>hbase.coprocessor.regionserver.classes</name>
    <value>org.apache.hadoop.hbase.regionserver.LocalIndexMerger</value>  
</property>  

2)hbase-site.xml的zookeeeper的配置信息不能加2181,否则在创建local index的时候会报以下异常:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QF40WL2h-1627632685904)(file:///C:/Users/86178/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]

正常配置:

<property>        
    <name>hbase.zookeeper.quorum</name>      
    <value>hadoop101,hadoop102,hadoop103</value>  
</property>  

2.2 创建索引

2.2.1 phoenix的索引分类

1)global index是默认的索引格式。适用于多读少写的业务场景。写数据的时候会消耗大量开销,因为索引表也要更新,而索引表是分布在不同的数据节点上的,跨节点的数据传输带来了较大的性能消耗。在读数据的时候Phoenix会选择索引表来降低查询消耗的时间。如果想查询的字段不是索引字段的话索引表不会被使用,也就是说不会带来查询速度的提升。

CREATE INDEX my_index ON my_table (my_index)

2)Local index适用于写操作频繁的场景。索引数据和数据表的数据是存放在相同的服务器中的,避免了在写操作的时候往不同服务器的索引表中写索引带来的额外开销。查询的字段不是索引字段索引表也会被使用,这会带来查询速度的提升。

CREATE LOCAL INDEX my_index ON my_table (my_index)

2.2.2 三种提升效率查询方式

1) CREATE INDEX my_index ON my_table (v1) INCLUDE (v2)
2) SELECT /*+ INDEX(my_table my_index) */ v2 FROM my_table WHERE v1 = ‘foo’
3) CREATE LOCAL INDEX my_index ON my_table (v1)

2.2.3 如何删除索引

DROP INDEX my_index ON my_table

CREATE LOCAL INDEX my_index ON my_table (v1) |

2.2.3 如何删除索引

DROP INDEX my_index ON my_table

请添加图片描述
请添加图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:42:40  更:2021-07-31 16:44:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 17:59:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码