1.1: 下载CDH 需要parcel包
下载地址:
http://archive.cloudera.com/cloudera-labs/phoenix/parcels/latest/
CLABS_PHOENIX-4.7.0-1.clabs_phoenix1.3.0.p0.000-el7.parcel
CLABS_PHOENIX-4.7.0-1.clabs_phoenix1.3.0.p0.000-el7.parcel.sha1
manifest.json

.在线安装
在CDH5.14.2 上面 配置 phoenix
点击parcel,然后点配置,添加parcel的网址,然后点击更新
http://archive.cloudera.com/cloudera-labs/phoenix/parcels/latest/


1.3 在CDH5.14.2 上面 配置 phoenix







1.4 HBase服务需要部署客户端配置以及重启





1.5 phoeinx的连接操作
cd /opt/cloudera/parcels/CLABS_PHOENIX/bin

使用Phoenix登录HBase
./phoenix-sqlline.py

需要指定Zookeeper
./phoenix-sqlline.py node-01.flyfish:2181:/hbase
!table


二:Phoenix的基本操作
2.1 使用phoinex创建表
create table hbase_test
(
s1 varchar not null primary key,
s2 varchar,
s3 varchar,
s4 varchar
);

hbase 的接口登录
hbase shell


upsert into hbase_test values('1','testname','testname1','testname2');
upsert into hbase_test values('2','tom','jack','harry');


删除:
delete from hbase_test where s1='1'; (删除是按rowkey)


upsert into hbase_test values('1','hadoop','hive','zookeeper');
upsert into hbase_test values('2','oozie','hue','spark');

更新数据测试,注意Phoenix中没有update语法,用upsert代替。插入多条数据需要执行多条upsert语句,没办法将所有的数据都写到一个“values”后面。
upsert into hbase_test values('1','zhangyy','hive','zookeeper');


三:使用Phoenix bulkload数据到HBase
3.1 准备测试文件
准备 导入的 测试文件
ls -ld ithbase.csv
head -n 1 ithbase.csv

上传到hdfs
su - hdfs
hdfs dfs -mkdir /flyfish
hdfs dfs -put ithbase.csv /flyfish
hdfs dfs -ls /flyfish

3.2 通过Phoenix创建表
create table ithbase
(
i_item_sk varchar not null primary key,
i_item_id varchar,
i_rec_start_varchar varchar,
i_rec_end_date varchar
);

执行bulkload命令导入数据
HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/hbase/hbase-protocol-1.2.0-cdh5.12.1.jar:/opt/cloudera/parcels/CDH/lib/hbase/conf hadoop jar /opt/cloudera/parcels/CLABS_PHOENIX/lib/phoenix/phoenix-4.7.0-clabs-phoenix1.3.0-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -t ithbase -i /flyfish/ithbase.csv




select * from ithbase


四:使用Phoenix从HBase中导出数据到HDFS
cat export.pig
----
REGISTER /opt/cloudera/parcels/CLABS_PHOENIX/lib/phoenix/phoenix-4.7.0-clabs-phoenix1.3.0-client.jar;
rows = load 'hbase://query/SELECT * FROM ITHBASE' USING org.apache.phoenix.pig.PhoenixHBaseLoader('node-01.flyfish:2181');
STORE rows INTO 'flyfish1' USING PigStorage(',');
----
执行pig
pig -x mapreduce export.pig




在hdfs 上面查看文件
hdfs dfs -ls /user/hdfs/flyfish1
hdfs dfs -cat /user/hdfs/flyfish1/part-m-00000

本文详细介绍在Cloudera Distribution Including Hadoop (CDH) 5.14.2环境中配置Phoenix的过程,包括下载并安装parcel包,配置HBase客户端,以及通过Phoenix进行基本操作,如创建表、数据导入与导出等。

1万+

被折叠的 条评论
为什么被折叠?



