大数据笔记-Phoenix

安装Phoenix
        约定安装到/opt目录下面,并配置好Phoenix的环境变量,且要source一下。
        编辑vi /etc/profile.d/bigdata-etc.sh 
        # Phoenix Profile
        export PHOENIX_HOME=/opt/phoenix
        export PATH=$PATH:$PHOENIX_HOME/bin
        source:
           source /etc/profile.d/bigdata-etc.sh 
           
        解压:
            soft]# tar -zxvf phoenix-4.13.1-HBase-1.2-bin.tar.gz -C ../
        重命名 opt]# mv phoenix-4.13.1-HBase-1.2 phoenix
        
        拷贝phoenix目录下面jar包到regionserver机器的lib($HBASE_HOME/lib)目录
             phoenix]# scp *.jar root@LENOVO02:/opt/hbase/lib/
             phoenix]# scp *.jar root@LENOVO03:/opt/hbase/lib/
             
        重启regionserver  一般在第二 和 第三的机器
            hbase-daemon.sh stop regionserver
            hbase-daemon.sh start regionserver
    

        ****************************************************************
        将phoenix中的client拷贝到hbase的lib目录中,重启master
            phoenix]# cp phoenix-4.13.1-HBase-1.2-client.jar /opt/hbase/lib/
            另外,为了防止出错,将phoenix-4.13.1-HBase-1.2-client.jar添加到HBASE_CLASSPATH
            vim /opt/hbase/conf/hbase-env.sh
            export HBASE_CLASSPATH=/opt/hbase/lib/phoenix-4.13.1-HBase-1.2-client.jar 

        启动(python,命令行客户端,效果类似于:hiveserver的beeline客户端)
             前提(在线安装python依赖的环境,详见:https://www.cnblogs.com/zlslch/p/7409852.html):
                  yum install python-argparse
                  
             执行sqlline.py LENOVO01:2181
             
        操作
           输入help,查看帮助
           输入!tables 显示所有表,包括系统表和用户表。
           注意:①此处只会显示系统表,以及通过Phonix客户端所创建的表,这个表也就是HBase中的表。
                      ②而HBase中的历史表信息不会显示出来。
           
        表的CRUD
          a)创建
            create table p1(id bigint   not null primary key, name varchar);
            在hbase中也会产生P1表,是大写,字段也是大写。如果查看列族的话,默认列族名称是0。
            char: 定长字符型
            varchar:变长字符串型
            
            注意:
            只有主键列可以添加非空约束,否则报错
            Error: ERROR 517 (42895): Invalid not null constraint on non primary key column. columnName=TB_PEOPLE.NAME (state=42895,code=517)
            
            如果小写,使用双引号引起来。如果指定列族,使用CF.name,这里的CF必须是大写,小写无效。
            create table "p1"(id bigint not null primary key, CF.name varchar);
            
          b)插入
            create table "user"(id bigint not null  primary key, CF.account varchar,CF.pwd char(6));
            upsert into "user"(id, account, pwd) values(1, 'admin', '111111');
            重复插入的话,会覆盖(就是更新操作),而不会报错。这里使用单引号,不能使用双引号。
            
            单引号: 用来指定字符串值
            双引号:用来定制表名或是字段名的书写方式(默认是:大写)
            upsert into "tb_people" values(1,'独孤求败');
            
            upsert into "tb_people" values(1,'斯瓦辛格');
            
          c)查询
            select * from "user";
            
          d)删除
            delete from "user" where id=1; 
            drop table "user";    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值