• phoenix到hbase的应用


    一、phoenix的简介

    hbase的java api或者其语法很难用,可以认为phoenix是一个中间件,提供了访问hbase的另外的语法。

    二、配置phoenix和hbase

    1.下载

    phoenix的官网是:http://phoenix.apache.org/,用户可以到该网址找到对应hbase版本的phoenix来下载。

    这里使用的是phoenix-4.6.0-HBase-0.98-bin.tar.gz这个包

    2.解压并拷贝文件

    tar -zxvf phoenix-4.6.0-HBase-0.98-bin.tar.gz -C /usr/local/

    解压完成后可以看到如下的目录:

    其中雷系tests.jar和sources.jar是没有用的,可以删除掉

    rm -f *-tests.jar
    rm -f *-sources.jar

    然后拷贝这些jar文件到hbase的安装目录下

    cp *.jar ../hbase-0.98.8-hadoop2/lib/

    重启region server即可

    ./hbase-daemon.sh stop regionserver

    ./hbase-daemon.sh start regionserver

    3.执行sqlline.py

    进入到phoenix的bin目录,执行sqlline.py 命令的参数是zk的地址

    三、使用phoenix

    3.1在phoenix中创建表

    create table student(id varchar(64) not null primary key,name varchar(64),age integer);

    可以看到在hbase中也出现了一张表

    ["STUDENT", "SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]

    在phoenix中创建的表,表名会自动变成大写。并且列族是0

    3.2使用phoenix插入或者更新数据

     upsert into STUDENT (id,name,age) values ('1','zhangsan',25);

     upsert into STUDENT (id,name,age) values ('2','lisi',20);

     3.3使用phoenix查询数据

    select * from STUDENT where age > 20;

     四、关于phoenix的小问题

    1.如何创建小写的表名?

    create table "student"("id" varchar(64) not null primary key,name varchar(64),age interger);

    2.如何创建自定义列族的表?

    create table "student2"("id" varchar(64) not null primary key ,"cf"."name" varchar(64),"cf"."age" integer);

  • 相关阅读:
    高可用Redis服务架构分析与搭建
    Java 程序性能问题
    限流、熔断、服务降级理解
    设计模式-享元设计
    设计模式-原型设计
    java8 Stream原理
    SQL语句性能优化策略
    OAuth2和JWT
    5种常见的Docker Compose错误
    leetcode_699. 掉落的方块
  • 原文地址:https://www.cnblogs.com/dongdone/p/5680867.html
Copyright © 2020-2023  润新知