zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    rgba()与opacity的区别
    BFC 和 margin collapse(重叠)
    CSS面试题整理
    HTML面试题整理
    box-sizing 和calc()
    怎样用一个标签制作多边框的按钮?
    github项目配置
    React之JSX
    angularjs指令系统系列课程(5):控制器controller
    angularjs指令系统系列课程(4):作用域Scope
  • 原文地址:https://www.cnblogs.com/dongdone/p/5680867.html
Copyright © 2011-2022 走看看