phoenix整合hbase及相关简单使用

一、安装教程

  1. 下载解压:https://dlcdn.apache.org/phoenix/phoenix-5.1.2/

  2. 进入目录:cd /home/hadoop/phoenix/

  3. 解压:tar -xvf phoenix-hbase-2.1-5.1.2-bin.tar.gz

  4. 复制

    cp /home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/phoenix-server-hbase-2.1-5.1.2.jar /home/hadoop/hbase/hbase-2.1.0/lib
    
  5. 拷贝hadoop配置文件目录下的core-site.xml和hdfs-site.xml到phoenix的bin目录下

    cp /home/hadoop/module/hadoop-3.2.2/etc/hadoop/core-site.xml /home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/bin
    cp /home/hadoop/module/hadoop-3.2.2/etc/hadoop/hdfs-site.xml /home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/bin
    
  6. 拷贝hbase的conf目录下的hbase-site.xml到phoenix的bin目录下

    cp /home/hadoop/hbase/hbase-2.1.0/conf/hbase-site.xml /home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/bin
    
  7. 设置环境变量:vi /etc/profile

    #phoenix
    export PHOENIX_HOME=/home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/
    export PHOENIX_CLASSPATH=$PHOENIX_HOME
    export PATH=$PATH:$PHOENIX_HOME/bin
    
  8. 刷新:source /etc/profile(hadoop用户也要)

  9. 每个节点hbase配置:vi /home/hadoop/hbase/hbase-2.1.0/conf/hbase-site.xml

    <!-- Phoenix 支持HBase 命名空间映射 -->
    <property>
      <name>phoenix.schema.isNamespaceMappingEnabled</name>
      <value>true</value>
    </property>
    <property>
      <name>phoenix.schema.mapSystemTablesToNamespace</name>
      <value>true</value>
    </property>
    
  10. 启动hbase:/home/hadoop/hbase-2.1.0/bin/start-hbase.sh

  11. phoenix启动脚本添加

    -Djava.security.auth.login.config=/home/hadoop/zookeeper/apache-zookeeper-3.6.3-bin/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf
    
  12. 启动

    cd /home/hadoop/phoenix/phoenix-hbase-2.1-5.1.2-bin/bin
    ./sqlline.py node10,node11,node12:2181
    ./sqlline.py hdp155,hdp156,hdp157:2181
    

二、表映射

  1. 建default空间表

    //建表
    create 'tb1', 'info'
    //插入数据
    put 'tb1', '1', 'info:name', 'zhan'
    put 'tb1', '2', 'info:age', '30'
    //查数据 
    scan 'tb1'
    
  2. 建立视图映射&查看(default空间 )

    //建视图映射(数据只能看)
    create view "tb1"(id varchar primary key,"info"."name" varchar, "info"."age" varchar);
    //查看数据
    select * from "tb1"
    
  3. 建立视图映射&查看(自定义空间 )

    //建视图映射
    CREATE VIEW "zhanzhk"."table1"("pid" varchar primary key,"fml1"."id" varchar,"fml1"."name"  varchar);
    //查看数据
    select * from "zhanzhk"."table1";
    
  4. 建立表映射&查看(default空间 )

    //建表映射(数据可操作)
    create table "tb1"(id varchar primary key,"info"."name" varchar, "info"."age" varchar) column_encoded_bytes=0; 
    //查看数据
    select * from "tb1"
    
  5. 建立表映射&查看(自定义空间 )

    //建立表映射-- 注:进行表映射时,不能使用列名编码,需将 column_encoded_bytes 设为 0。
    create schema if not exists "zhanzhk" ;
    create table "zhanzhk"."table1"("pid" varchar primary key,"fml1"."id" varchar,"fml1"."name"  varchar) column_encoded_bytes=0;
    //查看数据
    select * from "zhanzhk"."table1";
    

三、语法

ps:phoenix的语法不加双引号的默认都会被转成大写

  1. 创建schema:create schema if not exists “testdb” ;
  2. 删除schema:drop schema “testdb”;
  3. 创建表:create table testTable( id VARCHAR primary key, name VARCHAR, age VARCHAR);
  4. 删除表:drop table testTable;
  5. 删除视图:drop view “viewTable”;
  6. 插入/修改数据 :upsert into testTable(id,name,age) values(‘10’,‘小白’,‘20’);
  7. 查询数据:select * from testTable where id=‘10’;
  8. 删除数据:delete from testTable where id=‘10’ ;
  9. hbase的表映射到phoenix
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值