Skip to content

Commit 7799c23

Browse files
Merge pull request #856 from ClickHouse/add-trino-entry
Implement Trino entries (single + partitioned Parquet)
2 parents 1a1512b + 7b35576 commit 7799c23

29 files changed

Lines changed: 1484 additions & 225 deletions

trino-partitioned/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Trino on a directory of Parquet files (100 partitions)
2+
3+
Same setup as `trino/` (Hive connector + file metastore + native local
4+
filesystem driver), but the external table points at a directory of
5+
100 parquet files split by `RegionID` instead of a single ~14.7 GB
6+
parquet file. Trino splits each file into 64 MB chunks and processes
7+
them in parallel.
8+
9+
The `hits` view in `create.sql` performs the same `EventTime`/`EventDate`
10+
type conversions as the single-file variant.

trino-partitioned/benchmark.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Install Docker (Trino's official image bundles its own JRE).
6+
sudo apt-get update -y
7+
sudo apt-get install -y docker.io bc
8+
9+
# Download the partitioned dataset (100 parquet files).
10+
mkdir -p data/hits
11+
cd data/hits
12+
seq 0 99 | xargs -P16 -I{} wget --continue --quiet \
13+
"https://datasets.clickhouse.com/hits_compatible/athena_partitioned/hits_{}.parquet"
14+
cd ../..
15+
16+
# The Trino container runs as uid 1000 ("trino"), and writes the file
17+
# metastore into this directory. Make sure that uid can write here even
18+
# when benchmark.sh runs as root (cloud-init).
19+
sudo chown -R 1000:1000 data
20+
21+
# Trino catalog configuration: Hive connector backed by a file metastore
22+
# stored on the local filesystem, no Hadoop or external metastore required.
23+
mkdir -p etc/catalog
24+
cat > etc/catalog/hive.properties <<'EOF'
25+
connector.name=hive
26+
hive.metastore=file
27+
hive.metastore.catalog.dir=local:///metastore
28+
local.location=/clickbench
29+
fs.native-local.enabled=true
30+
hive.non-managed-table-writes-enabled=true
31+
EOF
32+
33+
# Start the Trino server. The data dir is exposed at /clickbench so it
34+
# matches local.location above.
35+
sudo docker rm -f trino 2>/dev/null || true
36+
sudo docker run -d --name trino \
37+
-p 8080:8080 \
38+
-v "$PWD/etc/catalog/hive.properties:/etc/trino/catalog/hive.properties:ro" \
39+
-v "$PWD/data:/clickbench" \
40+
trinodb/trino:latest
41+
42+
# Wait for Trino to finish starting up.
43+
until sudo docker logs trino 2>&1 | grep -q "SERVER STARTED"; do
44+
sleep 3
45+
done
46+
sleep 3
47+
48+
# Create the schema, the external table over the parquet directory and a
49+
# view that exposes the standard ClickBench column types.
50+
LOAD_START=$(date +%s)
51+
sudo docker cp create.sql trino:/tmp/create.sql
52+
sudo docker exec -i trino trino --file /tmp/create.sql
53+
LOAD_END=$(date +%s)
54+
55+
# Run the benchmark queries.
56+
./run.sh 2>&1 | tee log.txt
57+
58+
echo "Load time: $((LOAD_END - LOAD_START))"
59+
echo "Data size: $(du -bcs data/hits/*.parquet | tail -n1 | cut -f1)"

trino-partitioned/create.sql

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
CREATE SCHEMA IF NOT EXISTS hive.clickbench WITH (location = 'local:///');
2+
3+
CREATE TABLE hive.clickbench.hits_raw (
4+
WatchID bigint,
5+
JavaEnable smallint,
6+
Title varchar,
7+
GoodEvent smallint,
8+
EventTime bigint,
9+
EventDate integer,
10+
CounterID integer,
11+
ClientIP integer,
12+
RegionID integer,
13+
UserID bigint,
14+
CounterClass smallint,
15+
OS smallint,
16+
UserAgent smallint,
17+
URL varchar,
18+
Referer varchar,
19+
IsRefresh smallint,
20+
RefererCategoryID smallint,
21+
RefererRegionID integer,
22+
URLCategoryID smallint,
23+
URLRegionID integer,
24+
ResolutionWidth smallint,
25+
ResolutionHeight smallint,
26+
ResolutionDepth smallint,
27+
FlashMajor smallint,
28+
FlashMinor smallint,
29+
FlashMinor2 varchar,
30+
NetMajor smallint,
31+
NetMinor smallint,
32+
UserAgentMajor smallint,
33+
UserAgentMinor varchar,
34+
CookieEnable smallint,
35+
JavascriptEnable smallint,
36+
IsMobile smallint,
37+
MobilePhone smallint,
38+
MobilePhoneModel varchar,
39+
Params varchar,
40+
IPNetworkID integer,
41+
TraficSourceID smallint,
42+
SearchEngineID smallint,
43+
SearchPhrase varchar,
44+
AdvEngineID smallint,
45+
IsArtifical smallint,
46+
WindowClientWidth smallint,
47+
WindowClientHeight smallint,
48+
ClientTimeZone smallint,
49+
ClientEventTime bigint,
50+
SilverlightVersion1 smallint,
51+
SilverlightVersion2 smallint,
52+
SilverlightVersion3 integer,
53+
SilverlightVersion4 smallint,
54+
PageCharset varchar,
55+
CodeVersion integer,
56+
IsLink smallint,
57+
IsDownload smallint,
58+
IsNotBounce smallint,
59+
FUniqID bigint,
60+
OriginalURL varchar,
61+
HID integer,
62+
IsOldCounter smallint,
63+
IsEvent smallint,
64+
IsParameter smallint,
65+
DontCountHits smallint,
66+
WithHash smallint,
67+
HitColor varchar,
68+
LocalEventTime bigint,
69+
Age smallint,
70+
Sex smallint,
71+
Income smallint,
72+
Interests smallint,
73+
Robotness smallint,
74+
RemoteIP integer,
75+
WindowName integer,
76+
OpenerName integer,
77+
HistoryLength smallint,
78+
BrowserLanguage varchar,
79+
BrowserCountry varchar,
80+
SocialNetwork varchar,
81+
SocialAction varchar,
82+
HTTPError smallint,
83+
SendTiming integer,
84+
DNSTiming integer,
85+
ConnectTiming integer,
86+
ResponseStartTiming integer,
87+
ResponseEndTiming integer,
88+
FetchTiming integer,
89+
SocialSourceNetworkID smallint,
90+
SocialSourcePage varchar,
91+
ParamPrice bigint,
92+
ParamOrderID varchar,
93+
ParamCurrency varchar,
94+
ParamCurrencyID smallint,
95+
OpenstatServiceName varchar,
96+
OpenstatCampaignID varchar,
97+
OpenstatAdID varchar,
98+
OpenstatSourceID varchar,
99+
UTMSource varchar,
100+
UTMMedium varchar,
101+
UTMCampaign varchar,
102+
UTMContent varchar,
103+
UTMTerm varchar,
104+
FromTag varchar,
105+
HasGCLID smallint,
106+
RefererHash bigint,
107+
URLHash bigint,
108+
CLID integer
109+
)
110+
WITH (
111+
external_location = 'local:///hits',
112+
format = 'PARQUET'
113+
);
114+
115+
-- The Parquet files store EventTime/ClientEventTime/LocalEventTime as Unix epoch seconds
116+
-- and EventDate as a UINT16 day-count from 1970-01-01. The view exposes the canonical
117+
-- ClickBench column types so queries.sql matches the standard text.
118+
CREATE VIEW hive.clickbench.hits AS
119+
SELECT
120+
WatchID, JavaEnable, Title, GoodEvent,
121+
from_unixtime(EventTime) AS EventTime,
122+
date_add('day', EventDate, DATE '1970-01-01') AS EventDate,
123+
CounterID, ClientIP, RegionID, UserID, CounterClass, OS, UserAgent,
124+
URL, Referer, IsRefresh, RefererCategoryID, RefererRegionID,
125+
URLCategoryID, URLRegionID, ResolutionWidth, ResolutionHeight,
126+
ResolutionDepth, FlashMajor, FlashMinor, FlashMinor2, NetMajor, NetMinor,
127+
UserAgentMajor, UserAgentMinor, CookieEnable, JavascriptEnable,
128+
IsMobile, MobilePhone, MobilePhoneModel, Params, IPNetworkID,
129+
TraficSourceID, SearchEngineID, SearchPhrase, AdvEngineID, IsArtifical,
130+
WindowClientWidth, WindowClientHeight, ClientTimeZone,
131+
from_unixtime(ClientEventTime) AS ClientEventTime,
132+
SilverlightVersion1, SilverlightVersion2, SilverlightVersion3,
133+
SilverlightVersion4, PageCharset, CodeVersion, IsLink, IsDownload,
134+
IsNotBounce, FUniqID, OriginalURL, HID, IsOldCounter, IsEvent,
135+
IsParameter, DontCountHits, WithHash, HitColor,
136+
from_unixtime(LocalEventTime) AS LocalEventTime,
137+
Age, Sex, Income, Interests, Robotness, RemoteIP, WindowName,
138+
OpenerName, HistoryLength, BrowserLanguage, BrowserCountry,
139+
SocialNetwork, SocialAction, HTTPError, SendTiming, DNSTiming,
140+
ConnectTiming, ResponseStartTiming, ResponseEndTiming, FetchTiming,
141+
SocialSourceNetworkID, SocialSourcePage, ParamPrice, ParamOrderID,
142+
ParamCurrency, ParamCurrencyID, OpenstatServiceName, OpenstatCampaignID,
143+
OpenstatAdID, OpenstatSourceID, UTMSource, UTMMedium, UTMCampaign,
144+
UTMContent, UTMTerm, FromTag, HasGCLID, RefererHash, URLHash, CLID
145+
FROM hive.clickbench.hits_raw;

trino-partitioned/queries.sql

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
SELECT COUNT(*) FROM hits;
2+
SELECT COUNT(*) FROM hits WHERE AdvEngineID <> 0;
3+
SELECT SUM(AdvEngineID), COUNT(*), AVG(ResolutionWidth) FROM hits;
4+
SELECT AVG(UserID) FROM hits;
5+
SELECT COUNT(DISTINCT UserID) FROM hits;
6+
SELECT COUNT(DISTINCT SearchPhrase) FROM hits;
7+
SELECT MIN(EventDate), MAX(EventDate) FROM hits;
8+
SELECT AdvEngineID, COUNT(*) FROM hits WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY COUNT(*) DESC;
9+
SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10;
10+
SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;
11+
SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;
12+
SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;
13+
SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;
14+
SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;
15+
SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;
16+
SELECT UserID, COUNT(*) FROM hits GROUP BY UserID ORDER BY COUNT(*) DESC LIMIT 10;
17+
SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;
18+
SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10;
19+
SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, extract(minute FROM EventTime), SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;
20+
SELECT UserID FROM hits WHERE UserID = 435090932899640449;
21+
SELECT COUNT(*) FROM hits WHERE URL LIKE '%google%';
22+
SELECT SearchPhrase, MIN(URL), COUNT(*) AS c FROM hits WHERE URL LIKE '%google%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;
23+
SELECT SearchPhrase, MIN(URL), MIN(Title), COUNT(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title LIKE '%Google%' AND URL NOT LIKE '%.google.%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;
24+
SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10;
25+
SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime LIMIT 10;
26+
SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY SearchPhrase LIMIT 10;
27+
SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10;
28+
SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
29+
SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;
30+
SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), SUM(ResolutionWidth + 4), SUM(ResolutionWidth + 5), SUM(ResolutionWidth + 6), SUM(ResolutionWidth + 7), SUM(ResolutionWidth + 8), SUM(ResolutionWidth + 9), SUM(ResolutionWidth + 10), SUM(ResolutionWidth + 11), SUM(ResolutionWidth + 12), SUM(ResolutionWidth + 13), SUM(ResolutionWidth + 14), SUM(ResolutionWidth + 15), SUM(ResolutionWidth + 16), SUM(ResolutionWidth + 17), SUM(ResolutionWidth + 18), SUM(ResolutionWidth + 19), SUM(ResolutionWidth + 20), SUM(ResolutionWidth + 21), SUM(ResolutionWidth + 22), SUM(ResolutionWidth + 23), SUM(ResolutionWidth + 24), SUM(ResolutionWidth + 25), SUM(ResolutionWidth + 26), SUM(ResolutionWidth + 27), SUM(ResolutionWidth + 28), SUM(ResolutionWidth + 29), SUM(ResolutionWidth + 30), SUM(ResolutionWidth + 31), SUM(ResolutionWidth + 32), SUM(ResolutionWidth + 33), SUM(ResolutionWidth + 34), SUM(ResolutionWidth + 35), SUM(ResolutionWidth + 36), SUM(ResolutionWidth + 37), SUM(ResolutionWidth + 38), SUM(ResolutionWidth + 39), SUM(ResolutionWidth + 40), SUM(ResolutionWidth + 41), SUM(ResolutionWidth + 42), SUM(ResolutionWidth + 43), SUM(ResolutionWidth + 44), SUM(ResolutionWidth + 45), SUM(ResolutionWidth + 46), SUM(ResolutionWidth + 47), SUM(ResolutionWidth + 48), SUM(ResolutionWidth + 49), SUM(ResolutionWidth + 50), SUM(ResolutionWidth + 51), SUM(ResolutionWidth + 52), SUM(ResolutionWidth + 53), SUM(ResolutionWidth + 54), SUM(ResolutionWidth + 55), SUM(ResolutionWidth + 56), SUM(ResolutionWidth + 57), SUM(ResolutionWidth + 58), SUM(ResolutionWidth + 59), SUM(ResolutionWidth + 60), SUM(ResolutionWidth + 61), SUM(ResolutionWidth + 62), SUM(ResolutionWidth + 63), SUM(ResolutionWidth + 64), SUM(ResolutionWidth + 65), SUM(ResolutionWidth + 66), SUM(ResolutionWidth + 67), SUM(ResolutionWidth + 68), SUM(ResolutionWidth + 69), SUM(ResolutionWidth + 70), SUM(ResolutionWidth + 71), SUM(ResolutionWidth + 72), SUM(ResolutionWidth + 73), SUM(ResolutionWidth + 74), SUM(ResolutionWidth + 75), SUM(ResolutionWidth + 76), SUM(ResolutionWidth + 77), SUM(ResolutionWidth + 78), SUM(ResolutionWidth + 79), SUM(ResolutionWidth + 80), SUM(ResolutionWidth + 81), SUM(ResolutionWidth + 82), SUM(ResolutionWidth + 83), SUM(ResolutionWidth + 84), SUM(ResolutionWidth + 85), SUM(ResolutionWidth + 86), SUM(ResolutionWidth + 87), SUM(ResolutionWidth + 88), SUM(ResolutionWidth + 89) FROM hits;
31+
SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;
32+
SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;
33+
SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;
34+
SELECT URL, COUNT(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10;
35+
SELECT 1, URL, COUNT(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10;
36+
SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, COUNT(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;
37+
SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND URL <> '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;
38+
SELECT Title, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND Title <> '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;
39+
SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND IsRefresh = 0 AND IsLink <> 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC OFFSET 1000 LIMIT 10;
40+
SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND IsRefresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END, URL ORDER BY PageViews DESC OFFSET 1000 LIMIT 10;
41+
SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND IsRefresh = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 3594120000172545465 GROUP BY URLHash, EventDate ORDER BY PageViews DESC OFFSET 100 LIMIT 10;
42+
SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-01' AND EventDate <= DATE '2013-07-31' AND IsRefresh = 0 AND DontCountHits = 0 AND URLHash = 2868770270353813622 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC OFFSET 10000 LIMIT 10;
43+
SELECT DATE_TRUNC('minute', EventTime) AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= DATE '2013-07-14' AND EventDate <= DATE '2013-07-15' AND IsRefresh = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime) OFFSET 1000 LIMIT 10;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"system": "Trino (Parquet, partitioned)",
3+
"date": "2026-05-07",
4+
"machine": "c6a.2xlarge",
5+
"cluster_size": 1,
6+
"proprietary": "no",
7+
"hardware": "cpu",
8+
"tuned": "no",
9+
"tags": ["Java","column-oriented","stateless","lukewarm-cold-run"],
10+
"load_time": 2,
11+
"data_size": 14737666736,
12+
"result": [
13+
[4.446, 1.464, 1.425],
14+
[4.406, 1.544, 1.522],
15+
[4.2, 1.648, 1.652],
16+
[3.698, 1.451, 1.477],
17+
[4.612, 2.929, 2.814],
18+
[6.855, 4.12, 3.897],
19+
[3.627, 1.665, 1.634],
20+
[3.057, 1.355, 1.353],
21+
[5.997, 4.397, 4.035],
22+
[10.47, 7.862, 7.929],
23+
[3.842, 1.62, 1.61],
24+
[3.604, 1.688, 1.896],
25+
[5.725, 4.038, 3.934],
26+
[8.06, 6.622, 6.682],
27+
[5.494, 4.09, 4.051],
28+
[4.662, 3.296, 3.053],
29+
[10.1, 8.342, 8.573],
30+
[9.157, 7.851, 7.709],
31+
[16.074, 13.759, 13.735],
32+
[3.078, 1.301, 1.256],
33+
[12.221, 4.713, 4.735],
34+
[13.919, 4.494, 4.603],
35+
[24.77, 12.306, 12.567],
36+
[58.169, 51.26, 55.542],
37+
[5.271, 2.151, 2.138],
38+
[3.384, 1.887, 1.895],
39+
[5.259, 2.211, 2.213],
40+
[12.255, 11.28, 11.352],
41+
[26.515, 25.195, 25.017],
42+
[12.935, 9.454, 9.356],
43+
[5.708, 3.545, 3.566],
44+
[9.752, 4.038, 4.121],
45+
[null, null, null],
46+
[null, null, null],
47+
[null, null, null],
48+
[6.792, 5.02, 5.129],
49+
[2.94, 1.357, 1.359],
50+
[2.749, 1.239, 1.325],
51+
[2.894, 1.252, 1.249],
52+
[3.123, 1.564, 1.629],
53+
[2.699, 1.323, 1.199],
54+
[2.687, 1.298, 1.321],
55+
[2.715, 1.332, 1.231]
56+
]
57+
}
58+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"system": "Trino (Parquet, partitioned)",
3+
"date": "2026-05-07",
4+
"machine": "c6a.4xlarge",
5+
"cluster_size": 1,
6+
"proprietary": "no",
7+
"hardware": "cpu",
8+
"tuned": "no",
9+
"tags": ["Java","column-oriented","stateless","lukewarm-cold-run"],
10+
"load_time": 2,
11+
"data_size": 14737666736,
12+
"result": [
13+
[3.432, 1.268, 1.223],
14+
[2.888, 1.268, 1.208],
15+
[3.174, 1.533, 1.442],
16+
[2.825, 1.225, 1.219],
17+
[3.47, 1.996, 2.009],
18+
[4.538, 2.828, 2.717],
19+
[2.706, 1.305, 1.317],
20+
[2.482, 1.164, 1.209],
21+
[4.243, 2.646, 2.618],
22+
[6.861, 4.848, 4.739],
23+
[2.96, 1.429, 1.367],
24+
[2.937, 1.377, 1.404],
25+
[4.536, 2.774, 2.964],
26+
[6.555, 4.845, 4.697],
27+
[3.99, 2.867, 2.878],
28+
[3.654, 2.313, 2.333],
29+
[6.619, 5.29, 5.403],
30+
[6.357, 4.995, 5.035],
31+
[11.017, 9.063, 8.873],
32+
[2.509, 1.206, 1.193],
33+
[12.147, 4.093, 3.841],
34+
[14.02, 3.645, 3.633],
35+
[25.211, 6.322, 6.216],
36+
[58.431, 54.934, 54.718],
37+
[4.851, 1.693, 1.69],
38+
[2.875, 1.501, 1.47],
39+
[4.932, 1.66, 1.708],
40+
[11.89, 3.593, 3.589],
41+
[16.09, 14.373, 13.52],
42+
[9.143, 6.718, 6.606],
43+
[5.546, 2.452, 2.503],
44+
[9.218, 2.983, 3.014],
45+
[14.292, 13.147, 13.364],
46+
[13.869, 12.526, 12.356],
47+
[14.415, 12.625, 12.751],
48+
[4.565, 3.119, 3.26],
49+
[2.86, 1.299, 1.309],
50+
[2.633, 1.172, 1.188],
51+
[2.649, 1.18, 1.166],
52+
[2.915, 1.451, 1.462],
53+
[2.524, 1.118, 1.129],
54+
[2.575, 1.155, 1.136],
55+
[2.479, 1.163, 1.144]
56+
]
57+
}
58+

0 commit comments

Comments
 (0)