Phoneix-大数据组件学习笔记

Apache Phoenix是HBase的SQL接口,提供快速的DML/DQL操作和二级索引。它通过编译SQL查询为HBase扫描,实现毫秒级读取,并行执行查询。Phoenix将HBase数据映射为关系型模型,支持通过JDBC API进行操作。本文涵盖了Phoenix的介绍、搭建、操作、二级索引创建和Java访问。
摘要由CSDN通过智能技术生成

CSDN话题挑战赛第2期
参赛话题:大数据学习成长记录


目录

一、Phoneix简介

Phoneix是什么

Phoneix如何运作

Phoneix的优点

Phoneix架构

Phoenix 数据存储

二、Phoneix搭建

准备工作 

正式搭建

三、phoenix操作

表操作

四、Phoenix创建HBase二级索引

二级索引

配置 HBase 支持 Phoenix 创建二级索引

索引操作

索引分类

五、Java访问Phoenix

参考资料


一、Phoneix简介

Phoneix是什么

Apache Phoenix是Apache HBase的附加组件,提供了程序化的ANSI SQL接口。Apache Phoenix实施了最佳实践优化,以使软件工程师能够开发基于HBase的下一代数据驱动的应用程序。使用Phoenix,你可以使用标准JDBC API以典型DDL / DML语句的形式创建表并与表进行交互。从而可以避免使用 HBase 的客户端 API。而在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 我们却少写了很多代码。

说白了Phoenix就是hbase的可视化;就好比Navicat基于MySQL;hive基于Hadoop。我们Phoenix基于hbase也是一个道理。

Phoneix如何运作

Phoenix提供了对大量数据的快速访问,执行毫秒级的读取,写入和更新,以及快速表扫描;例如,您可以在20秒内扫描1亿行(中型群集上的窄表)。如果查询在键列上包含过滤器,则此查询时间可以减少到几毫秒。对于那些不是键列上的过滤器,您可以在这些列上添加二级索引,通过将索引列作为键的一部分来对键列进行筛选。

为什么即使进行全面扫描,Phoenix也能快速运行?

  • phoenix使用guidePosts将查询分块,这意味着在一个区域上有更多的线程。
  • Phoenix使用可配置数量的线程在客户端上并行运行查询。
  • 聚合是在服务器端的协处理器中完成的,从而减少了返回给客户端的数据量。

Phoneix的优点

  • 将 SQl 查询编译为 HBase 扫描
  • 确定扫描 Rowkey 的最佳开始和结束位置
  • 扫描并行执行
  • 将 where 子句推送到服务器端的过滤器
  • 通过协处理器进行聚合操作
  • 完美支持 HBase 二级索引创建
  • DML命令以及通过DDL命令创建和操作表和版本化增量更改。
  • 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。

Phoneix架构

Phoenix 数据存储

  • Phoenix将 HBase 的数据模型映射到关系型世界
HBase phoenix
namespace database
table table
column family+column quliafier cf:cq
rowkey 主键

二、Phoneix搭建

准备工作 

搭建phoenix之前确保hbase能够正常启动;

可参考我之前的博客搭建hbase:HBase详解

phoenix下载地址: http://phoenix.apache.org/download.html

上传安装包到node001节点:

正式搭建

节点规划

节点\服务 HMaster HRegionServer Zookeeper
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值