大数据——Phoenix安装、配置和使用

下载Phoenix

下载地址:Phoenix
提取码:4p4t

安装和配置Phoenix

  • 把下载好的安装包放入software目录下
  • 解压Phoenix到opt目录下
[root@hadoop100 software]# tar -zxvf apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz -C /opt
  • 进入opt目录下
[root@hadoop100 software]# cd /opt
  • 进入Phoenix的bin目录下
[root@hadoop100 opt]# cd apache-phoenix-4.14.0-cdh5.14.2-bin/
  • 把phoenix-4.14.0-cdh5.14.2-server.jar包复制到hbase目录下的lib目录下
[root@hadoop100 apache-phoenix-4.14.0-cdh5.14.2-bin]# cp phoenix-4.14.0-cdh5.14.2-server.jar /opt/hbase/lib/
  • 配置hbase-site.xml文件
[root@hadoop100 apache-phoenix-4.14.0-cdh5.14.2-bin]# vi /opt/hbase/conf/hbase-site.xml
  • 添加
//把true改为false
<property>
   <name>hbase.regionserver.wal.codec</name>
   <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property> 
 
<property>
  <name>phoenix.schema.isNamespaceMappingEnabled</name>
  <value>true</value>
</property>
 
<property>
  <name>phoenix.schema.mapSystemTablesToNamespace</name>
  <value>true</value>
</property>
 
<property>
  <name>phoenix.functions.allowUserDefinedFunctions</name>
  <value>true</value>
  <description>enable UDF functions</description>
</property>

在这里插入图片描述
在这里插入图片描述

  • 把配置好的hbase-site.xml复制到Phoenix目录下的bin目录下
// An highlighted block
[root@hadoop100 hbase]# cp conf/hbase-site.xml ../apache-phoenix-4.14.0-cdh5.14.2-bin/bin/
  • 输入y在这里插入图片描述

  • 重启hbase master

[root@hadoop100 hbase]# hbase-daemon.sh restart master
  • 进入Phoenix目录下的bin目录下启动Phoenix
[root@hadoop100 apache-phoenix-4.14.0-cdh5.14.2-bin]# cd bin/
[root@hadoop100 bin]# ./sqlline.py

在这里插入图片描述

  • 到这步Phoenix已经安装配置成功了

Phoenix概述

Phoenix简介

  • 构建在HBase上的SQL层
  • 使用标准SQL在HBase中管理数据
  • 使用JDBC来创建表,插入数据、对HBase数据进行查询
  • Phoenix JDBC Driver容易嵌入到支持JDBC的程序中

Phoenix无法代替RDBMS

  • 缺乏完整约束,很多领域尚不成熟后
    Phoenix使HBase更易用

Phoenix应用场景

Phoenix适合场景

  • 快速而容易地构建基于HBase的应用程序
  • 需要极大的规模、性能和并发性的SQL应用程序
  • 在转换到Hadoop时重用已有的SQL技能
  • BI工具(对SQL支持较好)

Phoenix不适合场景

  • 涉及大型Join操作或高级SQL特性的复杂SQL查询
  • Full-Table Scans
  • ETL jobs
  • Application Drivers/Interface

Phoenix架构

在这里插入图片描述

Phoenix SQL语法

Phoenix支持类SQL语法

Java API CodePhoenix DDL
HBaseAdmin hbase = new HBaseAdmin(conf);
HTableDescriptor desc = new HTableDescriptor(“us_population”);
HColumnDescriptor state = new HColumnDescriptor(“state”.getBytes());
HColumnDescriptor city = new HColumnDescriptor(“city”.getBytes());
HColumnDescriptor population = new HColumnDescriptor(“population”.getBytes());
desc.addFamily(state);
desc.addFamily(city);
desc.addFamily(population);
hbase.createTable(desc);
CREATE TABLE us_population (state CHAR(2) NOT NULL,city VARCHAR NOT NULL,population BIGINTCONSTRAINT my_pk PRIMARY KEY (state, city));
使用更灵活
可与其他应用集成
常用的SQL语法<>br提供附加约束检查

Phoenix支持的关键字类型

Standard SQL Data Types	--标准SQL 数据类型
SELECT, UPSERT, DELETE	--UPSERT与标准SQL不同
JOINs: Inner and Outer
Subqueries
Secondary Indexes
GROUP BY, ORDER BY, HAVING
AVG, COUNT, MIN, MAX, SUM
Primary Keys, Constraints
CASE, COALESCE
VIEWs
PERCENT_RANK, LAST|FIRST VALUE
UNION ALL
Cross Joins
Windowing Functions		--窗口函数
Transactions		--事务
Authorization
Replication Management

Phoenix操作HBase

命令行操作

!tables  	-- 查看所有表,类似于beeline操作
CREATE TABLE company (COMPANY_ID INTEGER PRIMARY KEY, NAME VARCHAR(225)); 	 --创建表操作
UPSERT INTO company VALUES(1, 'Microsoft');  	-- 插入数据
SELECT * FROM Company;	--查看数据

示例

  • 查看所有表
!tables

在这里插入图片描述

  • 创建表
create table test_emp(emp_id bigint primary key,emp_name varchar(10));
!tables

在这里插入图片描述

  • 插入数据
upsert into test_emp values(1,'trump');
select * from test_emp;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值