Presto Docker#

快速可靠的 SQL 引擎,适用于数据分析和开放湖仓

Docker#

vi config.properties

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
discovery-server.enabled=true
discovery.uri=http://localhost:8080

vi jvm.config

-server
-Xmx2G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-Djdk.attach.allowAttachSelf=true
docker run -p 8080:8080 -it -v ./config.properties:/opt/presto-server/etc/config.properties -v ./jvm.config:/opt/presto-server/etc/jvm.config --name presto prestodb/presto:latest
docker run -d -p 8080:8080 --name presto prestodb/presto

Executing queries#

docker exec -it presto presto-cli
presto> select count(*) from tpch.sf1.nation;

Connectors#

MySQL#

Configuration#

vi /opt/presto-server/etc/catalog/example.properties

connector.name=mysql
connection-url=jdbc:mysql://example.net:3306
connection-user=root
connection-password=secret

Querying MySQL#

SHOW SCHEMAS FROM example;
SHOW TABLES FROM example.web;
DESCRIBE example.web.clicks;
SHOW COLUMNS FROM example.web.clicks;
SELECT * FROM example.web.clicks;

Runtime Environment#

Architecture#

https://presto.java.net.cn/wp-content/uploads/presto-ecosystem-diagram.png

Screenshots#

https://presto.java.net.cn/docs/current/_images/presto_console.png

References#