阅读 117

Phoenix 基本安装与Sql使用

一、下载与安装

1.1、下载地址

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.isNamespaceMappingEnabledname>
<value>truevalue>
property>

<property>
<name>phoenix.schema.mapSystemTablesToNamespacename>
<value>truevalue>
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://www.cnblogs.com/-courage/p/15250791.html

文章分类
百科问答
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐