zoukankan      html  css  js  c++  java
  • Phoenix——实现向HBase发送标准SQL语句

    写在前面一:

    本文总结基于HBase的SQL查询系统——Salesforce phoenix


    写在前面二:

    环境说明:


    一、什么是Phoenix

    摘自官网:


    Phoenix是一个提供hbase的sql操作的框架,Phoenix是构建在HBase之上的一个SQL中间层。

    Phoenix全然使用Java编写,代码位于GitHub上,而且提供了一个client可嵌入的JDBC驱动。对于简单的低延迟查询,其性能量级为毫秒。对于百万级别的行数来说,其性能量级为秒。Phoenix并非像HBase那样
    用于map-reduce job的,而是通过标准化的语言来訪问HBase数据的。

    Phoenix最值得关注的特性:
    1、嵌入式的JDBC驱动,实现了大部分的java.sql接口。包含元数据API
    2、能够通过多部行键或是键/值单元对列进行建模
    3、完好的查询支持,能够使用多个谓词以及优化的扫描键
    4、DDL支持:通过CREATE TABLE、DROP TABLE及ALTER TABLE来加入/删除列
    5、版本号化的模式仓库:当写入数据时,快照查询会使用恰当的模式
    6、DML支持:用于逐行插入的UPSERT VALUES、用于同样或不同表之间大量传输数据的UPSERT SELECT、用于删除行的DELETE
    7、通过client的批处理实现的有限的事务支持
    8、单表——还没有连接,同一时候二级索引也在开发其中
    9、紧跟ANSI SQL标准

    二、Phoenix原理

    Phoenix基本原理是将一个对于HBase client来说比較复杂的查询转换成一系列Region Scan,结合coprocessor和custom  filter在多台Region Server上进行并行查询。汇总各个Scan结果。

    种种迹象表明。Phoenix应该不是个优化的OLAP系统,更像是一个用于简单单表查询,过滤。排序,检索的OLTP系统。 Phoenix 能够为我们眼下大数据平台提供比較便捷的数据操作能力(直接用jdbc方式),性能比較不错。注意不要使用多表查询就可以 。


    三、Phoenix安装配置

    1、下载
    phoenix-3.0.0-incubating.tar.gz
    http://phoenix.incubator.apache.org/download.html#Installation
    2、拷贝phoenix-3.0.0-incubating/common/phoenix-core-3.0.0-incubating.jar至$HBASE_HOME/lib/下
    3、重新启动HBase集群

    若通过client訪问phoenix,需进行下面操作:
    把phoenix-3.0.0-incubating/hadoop-1/phoenix-3.0.0-incubating-client.jar加入到Phoenix客户端的类路径下

    四、訪问Phoenix

    4.1、通过命令行

    进入phoenix

    cd /home/yujianxin/hbase/phoenix/phoenix-3.0.0-incubating/bin
    ./sqlline.py slave3:2181

    出现下面响应,说明成功安装


    4.2、通过Java

    <span style="font-family:Times New Roman;">Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); 
    // connection string: jdbc:phoenix [ :<zookeeper quorum> [ :<port number> ] [ :<root node> ] ]
    Connection connection = DriverManager.getConnection("jdbc:phoenix:slave3:2181");</span>

    4.3、通过SQLclientSQuirrel訪问

    下载地址:http://squirrel-sql.sourceforge.net/

    再进行安装配置就可以。


    五、使用Phoenix

    使用phoenix-3.0.0-incubating.tar.gz自带的数据进行測试


    当中。WEB_STAT.sql的内容例如以下:


    运行以上命令后,查看phoenix中的表:



    Phoenix支持模糊查询:


    查看HBase中的表,例如以下:


    就可以通过Phoenix这个构建在HBase之上的SQL中间层,向HBase发送标准sql语句。对HBase进行操作。


  • 相关阅读:
    Linux下查看文件和文件夹大小
    linux sort 命令详解
    Linux基础入门之网络属性配置
    Change SSH Welcome Banner on Ubuntu
    怎样修复grub开机引导(grub rescue)
    SSH内网穿透 Reverse SSH Tunneling
    安装 Zsh 及 Oh-my-zsh
    change grayscale to pseudo colouring using colormap in Matlab
    How to block a specific IP Address using UFW
    Linux下查看文件和文件夹大小
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5183473.html
Copyright © 2011-2022 走看看