SQL benchmark configuration parity updates - #24778 2 - #24803
Conversation
…ll lineitem files and declaring existing sort order as metadata instead of materializing and physically sorting the data, to match the native Rust benchmark’s default behavior.
| CREATE EXTERNAL TABLE lineitem | ||
| STORED AS PARQUET | ||
| LOCATION '${DATA_DIR:-data}/tpch_sf${BENCH_SIZE:-1}/lineitem' | ||
| ${BENCH_SORTED:-false|WITH ORDER (l_orderkey ASC NULLS LAST)| }; |
There was a problem hiding this comment.
This change was to not use ctas (thus a mem table) but rather use parquet level sorting.
| cc_gmt_offset DECIMAL(5, 2), | ||
| cc_tax_percentage DECIMAL(5, 2), | ||
| PRIMARY KEY (cc_call_center_sk) | ||
| ) STORED AS PARQUET LOCATION '${DATA_DIR:-data}/tpcds_sf${BENCH_SIZE:-1}/call_center.parquet'; |
There was a problem hiding this comment.
Full schema required to define the primary key matching rust native code.
There was a problem hiding this comment.
maybe worth a -- sql comment to this effect
| n_nationkey BIGINT NOT NULL, | ||
| n_name CHAR(25) NOT NULL, | ||
| n_regionkey BIGINT NOT NULL, | ||
| n_comment VARCHAR(152) NOT NULL, |
There was a problem hiding this comment.
These changes are primarily int -> bigint + not null matching rust native version.
| CREATE EXTERNAL TABLE lineitem_raw STORED AS PARQUET LOCATION '${DATA_DIR:-data}/tpch_sf${BENCH_SIZE:-1}/lineitem/lineitem.1.parquet'; | ||
|
|
||
| CREATE TABLE nation as SELECT * FROM nation_raw; | ||
| CREATE TABLE nation |
There was a problem hiding this comment.
full schema required for primary key.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #24803 +/- ##
==========================================
- Coverage 81.52% 81.52% -0.01%
==========================================
Files 1123 1123
Lines 406148 406148
Branches 406148 406148
==========================================
- Hits 331124 331113 -11
- Misses 55659 55668 +9
- Partials 19365 19367 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
fyi @alamb |
| cc_gmt_offset DECIMAL(5, 2), | ||
| cc_tax_percentage DECIMAL(5, 2), | ||
| PRIMARY KEY (cc_call_center_sk) | ||
| ) STORED AS PARQUET LOCATION '${DATA_DIR:-data}/tpcds_sf${BENCH_SIZE:-1}/call_center.parquet'; |
There was a problem hiding this comment.
maybe worth a -- sql comment to this effect
Which issue does this PR close?
Part of #21706. This PR does not close the issue.
Rationale for this change
The SQL-based TPC-H, TPC-DS, and sort TPC-H benchmarks did not consistently expose the same schemas, constraints, and loading behavior as their native Rust equivalents. These differences could affect query planning and make benchmark results less directly comparable.
What changes are included in this PR?
lineitemParquet directory rather than onlylineitem.1.parquet.l_orderkey ASC NULLS LASTordering as metadata instead of physically sorting the data.The sort TPC-H changes match the default behavior of the native Rust benchmark when it is run without
--mem-table.Are these changes tested?
Yes.
The following checks were run: