zoukankan      html  css  js  c++  java
  • 使用phoenix连接hbase

    hbase本身不支持SQL查询,为了实现这个功能,引入了phoenix,通过它可以实现hbase的sql查询。这里记录下如何配置并使用phoenix来操作hbase。

    1. 下载地址

    phoenix下载地址:http://apache.fayea.com/phoenix/
    phoenix.jpg
    注意:phoenix和hbase之前存在版本对应关系,我使用的hbase版本是1.1.3,所以我下载的phoenix版本是apache-phoenix-4.14.0-HBase-1.1-bin.tar.gz。

    2. 配置phoenix

    (1). 解压文件 tar -zxvf apache-phoenix-4.14.0-HBase-1.1-bin.tar.gz
    (2). 拷贝phoenix-4.14.0-HBase-1.1-client.jarphoenix-core-4.14.0-HBase-1.1.jar 这两个文件到hbase的lib目录下。
    注意:如果hbase是集群模式部署,需要拷贝这两个文件到每个hbase的lib目录下。
    (3). 复制hbase-site.xml文件到phoenix的bin目录下 apache-phoenix-4.14.0-HBase-1.1-bin/bin
    (4). 重启hbase服务(必须重启hbase服务,否则phoenix将不能正常启动)

    sh stop-hbase.sh
    sh start-hbase.sh
    

    3. 启动phoenix

    进入到phoenix的bin目录下,执行命令./sqlline.py host:port,其中host是主机名,port为zookeeper端口
    phoenix-login.jpg
    如上图所示,已进入phoenix的控制台。

    4. 用法简介

    (1). !tables命令可以查看有哪些表,注意:只能查询到通过phoenix创建的表,通过hbase创建的表无法看到
    phoenix-sql01.jpg
    (2). 创建视图,将hbase上的表映射到phoenix中

    #首先在hbase上创建一个表student,包含一个列簇info
    hbase(main):004:0> create "student","info"
    0 row(s) in 2.6890 seconds
    
    => Hbase::Table - student
    
    #向student表中插入一行数据
    hbase(main):009:0> put "student","001","info:name","tom"
    0 row(s) in 0.0250 seconds
    
    hbase(main):010:0> put "student","001","info:age","23"
    0 row(s) in 0.0090 seconds
    
    #接下来,进入phoenix的控制台,创建student的视图
    0: jdbc:phoenix:node3:2181> create view "student"(rid varchar primary key,"info"."name" varchar,"info"."age" varchar);
    
    #查询
    0: jdbc:phoenix:node3:2181> select * from "student";
    +------+-------+------+
    | RID  | name  | age  |
    +------+-------+------+
    | 001  | tom   | 23   |
    +------+-------+------+
    1 row selected (0.326 seconds)
    
  • 相关阅读:
    html 基本布局介绍
    Hbase1.1.x Java版之批量查删操作
    java命令执行jar文件
    【转】python多版本并存,python3安装pip
    JavaHbase连接代码示例
    Shell执行将脚本里的变量打印到指定日志文件
    Datax将本地文件导入Hbase数据库!!!酷酷酷
    shell关于日期的加减
    python2安装pymongo
    Python从MongoDB中按天读取数据并格式化日志
  • 原文地址:https://www.cnblogs.com/leekeggs/p/9818526.html
Copyright © 2011-2022 走看看