Presto开发指南
Presto介绍
Presto是一个开源的分布式SQL查询引擎,适用于GB到PB级别数据量的交互式分析查询。
它支持 Hive, Cassandra, 关系数据库等多种源数据的在线查询和数据整合,是大规模商业数据仓库进行快速交互式分析的利器。
hive-cli中进行表操作
这里选择在master1节点进行测试
1.打开hive-cli
[root@uhadoop-xxxxxxxx-master1 hadoop]# hive
2.查看hive中数据库列表
hive> show databases;
3.创建新的test数据库
hive> create schema test;
4.向test库中加入新表table_one
hive> create table test.table_one(name string);
5.查看test库中的全部表
hive> show tables from test;
6.向test库的table_one表中插入数据
hive> insert into test.table_one values ('name1'),('name2'),('name3');
7.hive-cli中查询table_one表数据。
hive> select * from test.table_one;
OK
name1
name2
name3
8.退出hive-cli
hive> quit;
presto-cli中进行表操作
1.打开presto-cli
[root@uhadoop-xxxxxxxx-core1 hadoop]# presto-cli --server uhadoop-xxxxxx-master1:28080 --catalog hive --schema test
presto:test>
2.presto-cli 查看hive下全部库信息
presto:test> show schemas from hive;
3.presto-cli 查看hive下test库的表清单
presto:test> show tables from test;
4.presto-cli下进行hive表中数据查询。
presto:test> select * from test.table_one;
name
-------
name1
name2
name3
(3 rows)
5.直接在presto-cli中进行hive catalog建表操作。
presto:test> create table test.presto_table2(name varchar);
6.直接在presto-cli中进行 insert 操作
presto:test> insert into test.presto_table2 values('myname1'),('myname2');
- 查询上一步的插入结果:
presto:test> select * from test.presto_table2;
name
---------
myname1
myname2
(2 rows)
- presto-cli 退出
presto:test> exit;
调用rest-api查看presto集群状态
curl http://uhadoop-xxxxxxxx-master1:28080/v1/cluster
返回:
{
"runningQueries":0,
"blockedQueries":0,
"queuedQueries":0,
"activeWorkers":3,
"runningDrivers":0,
"reservedMemory":0.0,
"totalInputRows":88,
"totalInputBytes":2061,
"totalCpuTimeSecs":1
}