Phoenix(3):Phoenix执行sql脚本

一、实现功能

将需要执行sql语句写入脚本,然后,使用psql.py执行。

二、步骤

1.脚本内容

(1)us_population.sql

CREATE TABLE IF NOT EXISTS us_population (
"state" CHAR(2) NOT NULL,  
"city" VARCHAR(18) NOT NULL, 
"info"."population" BIGINT,
CONSTRAINT my_pk PRIMARY KEY ("state", "city")
);

(2)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;

2.执行脚本

(1)创建表

bin/psql.py localhost /opt/datas/phoenix_sql/us_population.sql

(2)phoenix中向表中插入数据

upsert into "US_POPULATION"("state","city","population") values('NY','New York',8143197);  
upsert into "US_POPULATION"("state","city","population") values('CA','Los Angeles',3844829); 
upsert into "US_POPULATION"("state","city","population") values('IL','Chicago',2842518);
upsert into "US_POPULATION"("state","city","population") values('TX','Houston',2016582);
upsert into "US_POPULATION"("state","city","info"."population") values('PA','Philadelphia',1463281);  
upsert into "US_POPULATION"("state","city","info"."population") values('AZ','Phoenix',1461575);
upsert into "US_POPULATION"("state","city","info"."population") values('TX','San Antonio',1256509);  
upsert into "US_POPULATION"("state","city","info"."population") values('CA','San Diego',1255540);
upsert into "US_POPULATION"("state","city","info"."population") values('TX','Dallas',1213825);
upsert into "US_POPULATION"("state","city","info"."population") values('CA','San Jose',912332);

(3)查询表

bin/psql.py localhost /opt/datas/us_population_queries.sql

结果:

18/06/23 00:26:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
18/06/23 00:26:17 WARN impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties
St                               City Count                           Population Sum 
-- ---------------------------------------- ---------------------------------------- 
NY                                        1                                  8143197 
CA                                        3                                  6012701 
TX                                        3                                  4486916 
IL                                        1                                  2842518 
AZ                                        1                                  1500000 
PA                                        1                                  1463281 

猜你喜欢

转载自blog.csdn.net/u010886217/article/details/84728935
今日推荐