Vast Trino Server & Connector images with default configuration to query VastDB / Vast-S3 DataStore.
10K+
VAST DATA provides Docker image that includes the Trino server and the VAST Connector, with a default configuration, in order to query VastDB / Vast-S3 DataStore
The Docker image is published to Docker-Hub and can be used with the Docker runtime, among several others.
To run Trino in Docker, you must have the Docker engine installed on your machine. You can download Docker from the Docker website, or use the packaging system of your operating systems.
Use the docker command to create a container from the vastdataorg/trino-vast:TAG image.
Run it in the background, and map the default Trino port, which is 8080, from inside the container to expose 8080 on your workstation.
Without specifying the container image tag, it defaults to latest, but a number of any released Trino image by VAST can be used, by specifying a TAG.
vastdataorg/trino-vast:TAG
http://vast-vip1,http://vast-vip2 ..)To run the container, make sure you have vast.properties file configured with the above parameters and mounted under /etc/trino/catalog/vast.properties inside the container.
Starting the container with simple Docker run command
docker run -d \
-p 8080:8080 \
-v ./vast.properties:/etc/trino/catalog/vast.properties \
--name trino-vast \
vastdataorg/trino-vast
NOTE :
/etc/trino/ directory, inside the container.If you mount your custom configuration files under /etc/trino/ directory, inside the container, your configuration will be used instead of the default in the image.
etc
└── trino
├── catalog
│ ├── tpcds.properties
│ └── vast.properties
├── config.properties
├── jvm.config
├── log.properties
└── node.properties
Run docker ps to see all the containers running in the background.
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58431ae48c18 trino-vast "/bin/sh -c ' ech…" 40 seconds ago Up 39 seconds (healthy) 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp trino-vast
The image includes the Trino command-line interface (CLI) client, trino. Execute it in the existing container to connect to the Trino server running inside it. After starting the client, type and execute a query on a VAST catalog:
$ docker exec -it trino-vast trino
trino> show catalogs;
Catalog
---------
system
tpcds
vast
(3 rows)
Query 20240321_090110_00000_pkbe8, FINISHED, 1 node
Splits: 35 total, 35 done (100.00%)
1.01 [0 rows, 0B] [0 rows/s, 0B/s]
trino> show schemas in vast;
Schema
------------------------------------------------------
information_schema
system_schema
example-vastdb-table1/schema1
example-vastdb-table1/schema2
example-vastdb-table2/schema1
vast-big-catalog-bucket/vast_big_catalog_schema
(15 rows)
Query 20240321_090125_00002_pkbe8, FINISHED, 1 node
Splits: 35 total, 35 done (100.00%)
0.92 [15 rows, 664B] [16 rows/s, 721B/s]
trino> show tables in vast."example-vastdb-table1/schema1";
Table
------------------------
call_center
catalog_page
catalog_returns
catalog_sales
customer
customer_address
...
(25 rows)
Query 20240321_102306_00006_t5kec, FINISHED, 1 node
Splits: 35 total, 35 done (100.00%)
0.47 [25 rows, 1.43KB] [53 rows/s, 3.07KB/s]
trino> select * from vast."example-vastdb-table1/schema1".customer limit 1;
c_customer_sk | c_customer_id | c_current_cdemo_sk | c_current_hdemo_sk | c_current_addr_sk | c_first_shipto_date_sk | c_first_sales_date_sk |
---------------+------------------+--------------------+--------------------+-------------------+------------------------+-----------------------+--------------+--------------->
4720528 | AAAAAAAAAJHAIEAA | 422090 | 3182 | 229074 | 2452620 | 2452590 |
Alternatively, you can use the Trino CLI installed directly on your workstation.
You can also connect with any other client application using the JDBC driver. https://trino.io/docs/current/client/jdbc.html
/etc/trino/catalog/vast.properties file which is already included inside the image.connector.name=vast
endpoint={VAST_ENDPOINT}
region=us-east-1
access_key_id={VAST_ACCESS_KEY_ID}
secret_access_key={VAST_SECRET_ACCESS_KEY}
# Preliminary tuning parameters
num_of_splits=64
num_of_subsplits=10
vast.http-client.request-timeout=60m
vast.http-client.idle-timeout=60m
data_endpoints={VAST_DATA_ENDPOINTS}
vast.http-client.request-timeout=100h
vast.http-client.idle-timeout=290s
vast.http-client.max-connections=100
vast.http-client.max-connections-per-server=50
Info about the Trino Hive connector:
You can configure the Hive catalog to query Hive metastore tables and external Vast S3 bucket files:
hive.properties and pass it in docker run command.connector.name=hive
hive.metastore.uri=thrift://localhost:9083
hive.s3.path-style-access=true
hive.s3.endpoint=http://172.30.189.1
hive.s3.aws-access-key=O786I9Q2T....
hive.s3.aws-secret-key=PfFF/ndiuptO09l2JL....
hive.s3.ssl.enabled=false
hive.s3.streaming.enabled=True
hive.max-partitions-per-writers=1000
#hive.s3select-pushdown.enabled=true
hive.s3.socket-timeout=2m
hive.s3.streaming.part-size=16MB
hive.parquet.use-column-names=true
hive.orc.use-column-names=true
hive.allow-drop-table=true
hive.allow-rename-table=true
hive.allow-register-partition-procedure=true
hive.allow-add-column=true
hive.allow-drop-column=true
hive.allow-rename-column=true
hive.allow-drop-table=true
hive.non-managed-table-writes-enabled=true
hive.non-managed-table-creates-enabled=true
hive.temporary-staging-directory-path=/var/tmp/
hive.recursive-directories = true
hive.compression-codec=SNAPPY
docker run, mount it under /etc/trino/catalog/ inside the container, and start the container.etc
└── trino
├── catalog
│ ├── hive.properties
│ ├── tpcds.properties
│ └── vast.properties
├── config.properties
├── jvm.config
├── log.properties
└── node.properties
trino> show schemas in hive;
Schema
--------------------
default
information_schema
CREATE SCHEMA IF NOT EXISTS hive.customer_table WITH (
location = 's3a://customer-parquet/'
);
You can stop and start the container, using the docker stop trino-vast and docker start trino-vast commands.
To fully remove the stopped container, run docker rm tino-vast.
Content type
Image
Digest
sha256:dcf8c2934…
Size
3.4 GB
Last updated
over 2 years ago
docker pull vastdataorg/trino-vast