apache phoenix 入门_apache phoenix 入门

拓拔坚
2023-12-01

apache phoenix 是一种HBase的SQL皮肤,或者说SQL工具,它弥补了原生的HBase不支持SQL的缺陷。用官网的话说,Phoenix让HBase这种NoSQL数据库又重归SQL行列

同时利用phoenix可以非常方便的给HBase建二级索引。

下面主要介绍如何安装配置 apache phoenix ,以及如何使用apache phoenix进行一些常规的操作

一.安装配置apache phoenix

1.首先从官网下载phoenix的安装包 apache-phoenix-4.14.3-HBase-1.3-bin

2.tar  -zxvf     apache-phoenix-4.14.3-HBase-1.3-bin  -C     /opt/module   解压到/opt/module目录

3.切换到  phoenix的目录,将phoenix-4.14.3-HBase-1.3-client.jar  和 phoenix-4.14.3-HBase-1.3-server.jar  拷贝到HBase的lib目录

二.启动apache phoenix

1.首先启动zookeeper

2.然后启动hdfs

3.再启动HBase

4.最后启动Apache Phoenix ,启动命令:./bin/sqlline.py   node2,node3,node4:2181

三.常见操作

1.查看表 :  !tables

2.建表  : create   table    "表名"("字段名"  字段类型)  ,

例如建一个叫student的表,字段有id,和name

create   table    "student" ("id"   bigint  primary  key, "name"  varchar);

注意:建表时必须指明主键,同时表字段名和表名要加双引号,如果不加,则phoenix会默认它们为大写。

3.插入数据

upsert  into   "student"  values(123, ‘zhangsan‘);

注意:phoenix中字符串用单引号包裹,不能用双引号包裹

4.查询记录

select    字段   from     表名   where   条件;

select   *   from    student    where     id=123;

5.删除记录

delete  from   表名    where   条件;

6.删除表

drop   table   表名;

7.退出命令行

!quit

三.利用phoenix建二级索引

1.配置HBase支持Phoenix创建二级索引

添加如下配置到HBase的HRegionServer 节点的hbase-site.xml

hbase.regionserver.wal.codec

org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec

hbase.region.server.rpc.scheduler.factory.class

org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory

Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates

hbase.rpc.controllerfactory.class

org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory

Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates

2. 添加如下配置到Hbase中Hmaster节点的hbase-site.xml中

hbase.master.loadbalancer.class

org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer

hbase.coprocessor.master.classes

org.apache.phoenix.hbase.index.master.IndexMasterObserver

3.验证

原文:https://www.cnblogs.com/itachilearner/p/13900043.html

 类似资料: