下载bin
cd /app
解压
tar -zxvf apache-phoenix-4.14.0-HBase-1.4-bin.tar.gz
修改文件夹名字
mv apache-phoenix-4.14.0-HBase-1.4-bin phoenix
复制phoenix的 phoenix-[version]-server.jar包到hbase/lib下
cd /app/phoenix
cp phoenix-4.14.0-HBase-1.4-server.jar /app/hbase/lib
重启HBase
cd /app/hbase/bin
stop-hbase.sh
start-hbase.sh
进入命令行
cd /app/phoenix/bin
sqlline.py node1:2181
创建表
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));
查看有哪些表
!table
在hbase中查看是否有了这张表
创建csv文件,准备要导入的数据
cd /app/phoenix/examples
touch us_population.csv
vi us_population.csv
NY,New York,8143197
CA,Los Angeles,3844829
IL,Chicago,2842518
TX,Houston,2016582
PA,Philadelphia,1463281
AZ,Phoenix,1461575
TX,San Antonio,1256509
CA,San Diego,1255540
TX,Dallas,1213825
CA,San Jose,912332
把csv文件中的数据加载到phoenix的表中。注意,这里的us_population.csv csv文件的名字要和phoenix中表的名字一样,这样才能把这个文件的数据加载到对应的表中。
bin/psql.py node1:2181 /app/phoenix/examples/us_population.csv
在phoenix命令行中查询添加进来的数据
select * from us_population;
在hbase中查看数据是否添加进来
scan 'US_POPULATION'
删除phoenix中的表
drop table us_population;
把建表和查询SQL分别写到一个SQL文件中,用psql.py直接一次建表、加载数据、查询。
cd /app/phoenix/examples
touch us_population.sql
vi us_population.sql
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));
touch us_population_queries.sql
vi us_population_queries.sql
SELECT state as "State",count(city) as "City Count",sum(population) as "Population Sum"
FROM us_population
GROUP BY state
ORDER BY sum(population) DESC;
执行
cd /app/phoenix/bin
./psql.py node1:2181 /app/phoenix/examples/us_population.sql /app/phoenix/examples/us_population.csv /app/phoenix/examples/us_population_queries.sql