微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数据之Phoenix:介绍与安装部署

记录下Phoenix安装流程

文章目录

简介

  • Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。

  • Phoenix 构建在 HBase 之上的开源 sql 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API.

  • 在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码.

特点

  • sql 查询编译为 HBase 扫描

  • 确定扫描 Rowkey 的最佳开始和结束位置扫描并行执行

  • 将 where 子句推送到服务器端的过滤器

  • 通过协处理器进行聚合操作

  • 完美支持 HBase 二级索引创建

  • DML命令以及通过DDL命令创建和操作表和版本化增量更改。

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

在这里插入图片描述

安装

  • 下载Phoenix

    http://archive.apache.org/dist/phoenix/apache-phoenix-4.14.2-HBase-1.3/
    
  • 解压

    tar -zxvf apache-phoenix-4.14.2-HBase-1.3-bin.tar.gz -C /home/mym/apps/
    
    mv apache-phoenix-4.14.2-HBase-1.3-bin phoenix
    
  • 复制HBase需要用到的Server和Client的2个jar(集群中Hbase都需要复制过去)

    cp phoenix-4.14.2-HBase-1.3-server.jar /home/mym/apps/hbase/lib/
    cp phoenix-4.14.2-HBase-1.3-client.jar /home/mym/apps/hbase/lib/
    
  • 配置环境变量

    export PHOENIX_HOME=/home/mym/apps/phoenix
    export PHOENIX_CLAsspATH=$PHOENIX_HOME
    export PATH=$PATH:$PHOENIX_HOME/bin
    
  • 启动相关组件:hadoop、zookeeper、hbase

  • 启动phoniex

    /home/mym/apps/phoenix/bin/sqlline.py mini1,mini2,mini3:2181
    
    [root@mini1 bin]# /home/mym/apps/phoenix/bin/sqlline.py mini1,mini2,mini3:2181
    Setting property: [incremental, false]
    Setting property: [isolation, TRANSACTION_READ_COMMITTED]
    issuing: !connect jdbc:phoenix:mini1,mini2,mini3:2181 none none org.apache.phoenix.jdbc.PhoenixDriver
    Connecting to jdbc:phoenix:mini1,mini2,mini3:2181
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/home/mym/apps/phoenix/phoenix-4.14.2-HBase-1.3-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/opt/module/hadoop-2.7.2/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    21/08/02 02:29:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Connected to: Phoenix (version 4.14)
    Driver: PhoenixEmbeddedDriver (version 4.14)
    Autocommit status: true
    Transaction isolation: TRANSACTION_READ_COMMITTED
    Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
    133/133 (100%) Done
    Done
    sqlline version 1.2.0
    0: jdbc:phoenix:mini1,mini2,mini3:2181> 
    

    如上就OK了

测试sql

查看table

0: jdbc:phoenix:mini1,mini2,mini3:2181> !table
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+----------+
| TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  |  TABLE_TYPE   | REMARKS  | TYPE_NAME  | SELF_REFERENCING_COL_NAME  | REF_GENERATION  | INDEX_STATE  | IMMUTABL |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+----------+
|            | SYstem       | CATALOG     | SYstem TABLE  |          |            |                            |                 |              | false    |
|            | SYstem       | FUNCTION    | SYstem TABLE  |          |            |                            |                 |              | false    |
|            | SYstem       | LOG         | SYstem TABLE  |          |            |                            |                 |              | true     |
|            | SYstem       | SEQUENCE    | SYstem TABLE  |          |            |                            |                 |              | false    |
|            | SYstem       | STATS       | SYstem TABLE  |          |            |                            |                 |              | false    |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+----------+
0: jdbc:phoenix:mini1,mini2,mini3:2181> 

OK,后面补上一些DDL、DML和二级索引等相关记录,这些都是固定语法,记录下来方便参考就行

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐