forked from letsql/letsql
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compose.yaml
126 lines (118 loc) · 3.35 KB
/
compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
services:
postgres:
user: postgres
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: ibis_testing
POSTGRES_USER: postgres
build: ./docker/postgres
image: ibis-postgres
healthcheck:
interval: 1s
retries: 20
test:
- CMD
- pg_isready
ports:
- 5432:5432
networks:
- postgres
volumes:
- ./ci/ibis-testing-data/csv/astronauts.csv:/data/astronauts.csv
- ./ci/ibis-testing-data/csv/awards_players.csv:/data/awards_players.csv
- ./ci/ibis-testing-data/csv/batting.csv:/data/batting.csv
- ./ci/ibis-testing-data/csv/diamonds.csv:/data/diamonds.csv
- ./ci/ibis-testing-data/csv/functional_alltypes.csv:/data/functional_alltypes.csv
- ./ci/ibis-testing-data/csv/geo.csv:/data/geo.csv
- postgres:/data
- ./db/postgres.sql:/docker-entrypoint-initdb.d/create_tables.sql
hive-metastore-db:
image: postgres:17.1-alpine
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
POSTGRES_DB: metastore
healthcheck:
interval: 1s
retries: 20
test:
- CMD
- pg_isready
- --port=23456
command: -c port=23456
networks:
- trino
minio:
image: bitnami/minio:2024.11.7
environment:
MINIO_ROOT_USER: accesskey
MINIO_ROOT_PASSWORD: secretkey
MINIO_SKIP_CLIENT: "yes"
healthcheck:
interval: 1s
retries: 20
test:
- CMD-SHELL
- mc ready data && mc mb --ignore-existing data/trino
networks:
- trino
volumes:
- $PWD/docker/minio/config.json:/.mc/config.json:ro
hive-metastore:
# TODO: healthcheck?
image: starburstdata/hive:3.1.3-e.4
environment:
HIVE_METASTORE_DRIVER: org.postgresql.Driver
HIVE_METASTORE_JDBC_URL: jdbc:postgresql://hive-metastore-db:23456/metastore
HIVE_METASTORE_USER: admin
HIVE_METASTORE_PASSWORD: admin
HIVE_METASTORE_WAREHOUSE_DIR: s3://trino/
HIVE_METASTORE_USERS_IN_ADMIN_ROLE: "admin"
S3_ENDPOINT: http://minio:9000
S3_ACCESS_KEY: accesskey
S3_SECRET_KEY: secretkey
S3_PATH_STYLE_ACCESS: "true"
REGION: ""
GOOGLE_CLOUD_KEY_FILE_PATH: ""
AZURE_ADL_CLIENT_ID: ""
AZURE_ADL_CREDENTIAL: ""
AZURE_ADL_REFRESH_URL: ""
AZURE_ABFS_STORAGE_ACCOUNT: ""
AZURE_ABFS_ACCESS_KEY: ""
AZURE_WASB_STORAGE_ACCOUNT: ""
AZURE_ABFS_OAUTH: ""
AZURE_ABFS_OAUTH_TOKEN_PROVIDER: ""
AZURE_ABFS_OAUTH_CLIENT_ID: ""
AZURE_ABFS_OAUTH_SECRET: ""
AZURE_ABFS_OAUTH_ENDPOINT: ""
AZURE_WASB_ACCESS_KEY: ""
depends_on:
hive-metastore-db:
condition: service_healthy
minio:
condition: service_healthy
networks:
- trino
trino:
depends_on:
- hive-metastore
healthcheck:
interval: 2s
retries: 15
test:
- CMD-SHELL
- trino --output-format null --execute 'show schemas in hive; show schemas in memory'
image: trinodb/trino:464
ports:
- 8080:8080
networks:
- trino
volumes:
- $PWD/docker/trino/catalog/memory.properties:/etc/trino/catalog/memory.properties:ro
- $PWD/docker/trino/catalog/hive.properties:/etc/trino/catalog/hive.properties:ro
- $PWD/docker/trino/jvm.config:/etc/trino/jvm.config:ro
networks:
postgres:
trino:
volumes:
postgres: