zoukankan      html  css  js  c++  java
  • Phoenix 基本安装与Sql使用

    一、下载与安装

    1.1、下载地址
    https://phoenix.apache.org/download.html#
    http://www.apache.org/dyn/closer.lua/phoenix/apache-phoenix-4.14.1-HBase-1.3/bin/apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz

    1.2、上传到/opt/software/ 解压tar -zxvf apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz -C /opt/module 并改名为phoenix
    1.3、 在/opt/module/phoenix/下将core和client这俩个包拷贝到各个节点的hbase的lib下面

    scp ./phoenix-core-4.14.1-HBase-1.3.jar slave02:/opt/module/hbase-1.3.1/lib/
    scp ./phoenix-core-4.14.1-HBase-1.3.jar slave03:/opt/module/hbase-1.3.1/lib/
    
    scp ./phoenix-4.14.1-HBase-1.3-client.jar slave03:/opt/module/hbase-1.3.1/lib/
    scp ./phoenix-4.14.1-HBase-1.3-client.jar slave02:/opt/module/hbase-1.3.1/lib/

    1.4、将hbase的conf下的hbase-site.xml,和hadoop下面的core-site.xml和hdfs-site.xml拷贝到phoenix的bin/下面
    1.5、在root权限下配置phoenix的环境变量 在/etc/profile 下添加如下内容

    #phoenix
    export PHOENIX_HOME=/opt/module/phoenix
    export PHOENIX_CLASSPATH=$PHOENIX_HOME
    export PATH=$PATH:$PHOENIX_HOME/bin

    1.6、启动zookeeper,hadoop,hbase
    1.7、启动phoenix,bin/sqlline.py master01,slave02,slave03:2181

    二、Phoenix SQL语法

    1、数据库操作 

    --CREATE SCHEMA (创建数据库操作)
    
    CREATE SCHEMA [IF NOT EXISTS] 数据库名字
    
    
     --USE
    
    USE 数据库名
    0: jdbc:phoenix:CentOS> use test;
    No rows affected (0.003 seconds)
    
    
    --DROP SCHEMA
    DROP SCHEMA IF EXISTS 数据库名
    0: jdbc:phoenix:CentOS> drop schema if exists test;
    No rows affected (0.005 seconds)

    报错如下:

    Error: ERROR 725 (43M08): Cannot create schema because config phoenix.schema.isNamespaceMappingEnabled for enabling name space mapping isn't enabled. schemaName=jiangzz (state=43M08,code=725)
    java.sql.SQLException: ERROR 725 (43M08): Cannot create schema because config phoenix.schema.isNamespaceMappingEnabled for enabling name space mapping isn't enabled. schemaName=jiangzz

    解决:往配置文件中添加如下配置,必须同时修改$HASE_HOME/conf/hbase-site.xml文件和 $PHOENIX_HOME/bin/hbase-site.xml文件,修改完成重启Hbase服务

    <property>
    <name>phoenix.schema.isNamespaceMappingEnabled</name>
    <value>true</value>
    </property>
    
    <property>
    <name>phoenix.schema.mapSystemTablesToNamespace</name>
    <value>true</value>
    </property>

    2、显示所有表

    !table或
    !tables

    3、建表语句

    --CREATE TABLE (建表必须声明主键)
    
    CREATE TABLE IF NOT EXISTS [SCHEMA.]表名(
    字段名 约束,
    ...
    )
    表选项
    
    --示例:
    CREATE TABLE IF NOT EXISTS us_population (
    state CHAR(2) NOT NULL,
    city VARCHAR NOT NULL,
    population BIGINT
    CONSTRAINT my_pk PRIMARY KEY (state, city));

    注:在phoenix中,默认情况下,表名等会自动转换为大写,若要小写,使用双引号,如"us_population"。

    DESC TABLE
    !DESC [SCHEMA.]表名;
    
    
    DROP TABLE
    DROP TABLE IF EXISTS 表名 [CASCADE]
    ps:cascade表示会将该表以及该表的所有依赖都给删除。

    4、增加或删除表字段

    ALTER TABLE
    
    ALTER (TABLE|VIEW) 表名 ADD [IF NOT EXISTS] 列名
    ALTER (TABLE|VIEW) 表名 DROP COLUMN [IF EXISTS] 列名
    ALTER (TABLE|VIEW) 表名 SET options
    
    增加age字段:
    alter table t_user add if not exists age integer;
    
    删除age字段:
    alter table t_user drop column if exists age ;
    
    对表设置声明周期:
    alter table t_user set TTL=100;


    5、插入&更新

    插入记录
    upsert into us_population values('NY','NewYork',8143197);
    查询记录
    select * from us_population ;
    select * from us_population wherestate='NY';
    删除记录
    delete from us_population wherestate='NY';

    参考:

    https://blog.csdn.net/weixin_38231448/article/details/103949839

  • 相关阅读:
    Python 数据类型
    Python 基础
    多表联查和子查询
    python基础中数据类型
    小说体验报告--微信输入法语音转文字--atm转账--签到礼盒的设计点
    PC端和移动端 微信加入群聊--游戏签到 --模拟打车的测试用例设计点
    jmeter连接mysql数据库时报无法创建PoolableConnectionFactory(拒绝用户的root@localhost访问(使用密码:YES))
    jmeter 软件测试
    postman的使用
    Fiddler抓取 模拟机HTTPS包
  • 原文地址:https://www.cnblogs.com/-courage/p/15250791.html
Copyright © 2011-2022 走看看