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

  • 相关阅读:
    matlab 绘制条状图形
    细思恐极 天价房都被谁买去了?——如何操作?
    matlab中的containers.Map()
    林彪:怎样当好一个师长?
    matlab 怎么建立结构体数组?
    matlab中patch函数的用法
    Ubuntu 安装配置MySQL,并使用VS的Server Explorer UI界面远程管理MySQL
    CLIQUE 聚类算法以及Java实现+多线程
    R 中同步进行的多组比较的包:npmc
    基于D3JS绘制中国地图
  • 原文地址:https://www.cnblogs.com/-courage/p/15250791.html
Copyright © 2011-2022 走看看