starburstdata 团队提供了一个docker 版本的presto,其中已经内置了几个connectors
- tpch
- tpcds
- memory
- backhole
- jmx
- system
pull docker images
镜像稍大,最好使用加速
docker pull starburstdata/presto
启动
docker run -d -p 8080:8080 --name demo starburstdata/presto
UI 效果
进入容器
docker exec -it demo presto-cli
查询node
select * from system.runtime.nodes;
node_id | http_uri | node_version |
--------------------------------------+------------------------+--------------+-
32329c8b-5918-488c-93ae-cb7a575f6ce3 | http://172.17.0.2:8080 | 312-e.1 |
(1 row)
Query 20190710_073434_00019_ucty8, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [1 rows, 72B] [2 rows/s, 146B/s]
简单查询
- 查看catalogs
show catalogs
blackhole
jmx
memory
system
tpcds
tpch
- 查询jmx catlog
SHOW TABLES FROM jmx.current;
com.sun.management:type=diagnosticcommand
com.sun.management:type=hotspotdiagnostic
io.airlift.discovery.client:name=announcer
io.airlift.discovery.client:name=serviceinventory
io.airlift.discovery.store:name=dynamic,type=distributedstore
io.airlift.discovery.store:name=dynamic,type=httpremotestore
io.airlift.discovery.store:name=dynamic,type=replicator
io.airlift.event.client:name=eventclient
io.airlift.http.client:name=fordiscoveryclient,type=httpclient
io.airlift.http.client:name=fordynamicstore,type=httpclient
io.airlift.http.client:name=foreventclient,type=httpclient
io.airlift.http.client:name=forexchange,type=httpclient
io.airlift.http.client:name=forfailuredetector,type=httpclient
io.airlift.http.client:name=formemorymanager,type=httpclient
io.airlift.http.client:name=fornodemanager,type=httpclient
io.airlift.http.client:name=forscheduler,type=httpclient
io.airlift.http.client:name=forworkerinfo,type=httpclient
io.airlift.http.server:context=http/1.1|h2c@73d62b5,id=0,type=httpserverchannel
io.airlift.http.server:id=0,type=classpathresourcehandler
io.airlift.http.server:id=0,type=statsrecordinghandler
io.airlift.http.server:id=1,type=classpathresourcehandler
io.airlift.http.server:name=httpserver
io.airlift.http.server:name=requeststats
io.airlift.jmx:name=stacktracembean
io.airlift.log:name=logging
io.airlift.node:name=nodeinfo
io.airlift.stats:name=pausemeter
java.lang:na
- 查询数据
SELECT node, vmname, vmversion
-> FROM jmx.current."java.lang:type=runtime";
效果
node | vmname | vmversion
--------------------------------------+--------------------------+------------
32329c8b-5918-488c-93ae-cb7a575f6ce3 | OpenJDK 64-Bit Server VM | 25.212-b04
(1 row)
Query 20190710_072619_00016_ucty8, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [1 rows, 70B] [4 rows/s, 325B/s]
create table 操作
- 简单create
CREATE TABLE memory.default.nation AS
-> SELECT * from tpch.tiny.nation;
CREATE TABLE: 25 rows
Query 20190710_072840_00017_ucty8, FINISHED, 1 node
Splits: 38 total, 38 done (100.00%)
0:04 [25 rows, 0B] [6 rows/s, 0B/s]
- insert 数据
INSERT INTO memory.default.nation
SELECT * FROM tpch.tiny.nation;
- 查询
SELECT * FROM memory.default.nation;
nationkey | name | regionkey |
-----------+----------------+-----------+---------------------------------------
0 | ALGERIA | 0 | haggle. carefully final deposits dete
1 | ARGENTINA | 1 | al foxes promise slyly according to th
2 | BRAZIL | 1 | y alongside of the pending deposits. c
3 | CANADA | 1 | eas hang ironic, silent packages. slyl
4 | EGYPT | 4 | y above the carefully unusual theodoli
5 | ETHIOPIA | 0 | ven packages wake quickly. regu
6 | FRANCE | 3 | refully final requests. regular, ironi
7 | GERMANY | 3 | l platelets. regular accounts x-ray: u
8 | INDIA | 2 | ss excuses cajole slyly across the pac
9 | INDONESIA | 2 | slyly express asymptotes. regular dep
10 | IRAN | 4 | efully alongside of the slyly final de
11 | IRAQ | 4 | nic deposits boost atop the quickly fi
12 | JAPAN | 2 | ously. final, express gifts cajole a
13 | JORDAN | 4 | ic deposits are blithely about the car
14 | KENYA | 0 | pending excuses haggle furiously depo
15 | MOROCCO | 0 | rns. blithely bold courts among the cl
16 | MOZAMBIQUE | 0 | s. ironic, unusual asymptotes wake bli
17 | PERU | 1 | platelets. blithely pending dependenci
18 | CHINA | 2 | c dependencies. furiously express noto
19 | ROMANIA | 3 | ular asymptotes are about the furious
20 | SAUDI ARABIA | 4 | ts. silent requests haggle. closely ex
21 | VIETNAM | 2 | hely enticingly express accounts. even
22 | RUSSIA | 3 | requests against the platelets use ne
23 | UNITED KINGDOM | 3 | eans boost carefully special requests.
24 | UNITED STATES | 1 | y final packages. slow foxes cajole qu
(25 rows)
Query 20190710_072942_00018_ucty8, FINISHED, 1 node
Splits: 18 total, 18 done (100.00%)
0:00 [25 rows, 2.67KB] [92 rows/s, 9.89KB/s]
说明
官方文档提供了比较全的说明,而且对于不同的connector,也有详细的使用说明
参考资料
https://hub.docker.com/r/starburstdata/presto
https://prestodb.github.io/
https://prestodb.github.io/docs/current/