Apache Phoenix 入门

概述

Hbase适合存储大量的对关系运算要求低的NOSQL数据,受Hbase 设计上的限制不能直接使用原生的PAI执行在关系数据库中普遍使用的条件判断和聚合等操作。Hbase很优秀,一些团队寻求在Hbase之上提供一种更面向普通开发人员的操作方式,Apache Phoenix即是。
Phoenix 基于Hbase给面向业务的开发人员提供了以标准SQL的方式对Hbase进行查询操作,并支持标准SQL中大部分特性:条件运算,分组,分页,等高级查询语法。

注:不对Phoenix 架构做整体介绍,仅用示例来演示如何操作,如何在不同场景下使用。

集群环境

ZK:host101,host102,host103
Hadoop:host102[主],host103[备],host104,host105,host106
Hbase:host102[备],host103[主],host104,host105,host106
Phoenix:host104[主]

注意事项: Hbase和Hadoop的版本号需要兼容

Phoneix安装

  1. 下载: http://phoenix.apache.org/ 得到apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz
  2. 解压到主机host104 /app/ 路径下
  3. 分发安装目录下phoenix-4.10.0-HBase-1.2-server.jar 文件到 Hbase 所有节点的安装目录下lib目录中.
  4. 重启Hbase 集群

在 Linux shell中操作

在Phoenix安装目录下bin子目录下执行 ./sqlline.py host101 进入Phoenix shell环境。

  1.    创建表
    
       create table itinfo(id varchar primary key,name varchar,ageinteger);
    
  2.    列出表
    
       !tables;
    
  3.    插入一条数据
    
       upsert into itinfo values('1001','itxiaofen',26);
    
  4.    查询全部数据,条件运算,排序,分组
    
       select * from itinfo;
    
       select * from itinfo where age>=27;
    
       select * from itinfo order by age desc;
    
       select age,count(1) from itinfo group by age ;
    
  5.    登录Hbase shell查看有什么变化
    
       Hbase安装目录下下执行bin/hbase shell
    
       列出所有Hbase表执行list,经确认Phoenix帮我们在Hbase中做了很多事情,
    
       Hbase表的创建,数据插入等操作。以SYSTEM.开始的表为Phoenix的元数据表。
    
  6.    总结一下,上次通过Phoenix提供的API以SQL的方式来操作Hbase表,
    
       Phoenix在集群中并行高校的拆分SQL调用Hbase API执行扫描和聚合操作,
       性能请参考Phoenix官网介绍
    
    原文作者:吴国友
    原文地址: https://www.jianshu.com/p/8402c8613167
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞