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


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

上一篇:Phoenix映射Hbase视图建立(VIEW)


下一篇:如何在javascript中捕获音频?