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);

  • 相关阅读:
    javascript设计模式小记
    静态iframe异步加载
    博客搬家分割线
    大数据学习之MapReduce篇
    IDEA 创建javaWeb以及Servlet
    数组定义 二维数组 数组遍历 查找
    201720181 JAVA实验站 第二周作业
    201720181 JAVA实验站 第三周作业
    201720181 团队名称 第一周 作业
    C#语言编写的基于directshow的音视频格式转换
  • 原文地址:https://www.cnblogs.com/dongdone/p/5680867.html
Copyright © 2011-2022 走看看