美文网首页
Apache Phoenix 入门

Apache Phoenix 入门

作者: 吴国友 | 来源:发表于2019-01-30 17:59 被阅读2次

    概述

    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官网介绍
      

    相关文章

      网友评论

          本文标题:Apache Phoenix 入门

          本文链接:https://www.haomeiwen.com/subject/pyvcsqtx.html