This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-benchmarks.git
The following commit(s) were added to refs/heads/main by this push:
new c472383 chore: support specific query (#23)
c472383 is described below
commit c472383a2e0570c85766cd8ec946614dd4fda542
Author: Oleks V <[email protected]>
AuthorDate: Mon Sep 29 08:18:32 2025 -0700
chore: support specific query (#23)
Co-authored-by: ovoievodin <[email protected]>
---
runners/datafusion-comet/tpcbench.py | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/runners/datafusion-comet/tpcbench.py
b/runners/datafusion-comet/tpcbench.py
index ed11938..362a03c 100644
--- a/runners/datafusion-comet/tpcbench.py
+++ b/runners/datafusion-comet/tpcbench.py
@@ -21,7 +21,7 @@ import json
from pyspark.sql import SparkSession
import time
-def main(benchmark: str, data_path: str, query_path: str, iterations: int,
output: str):
+def main(benchmark: str, data_path: str, query_path: str, iterations: int,
output: str, query_num: int = None):
# Initialize a SparkSession
spark = SparkSession.builder \
@@ -60,7 +60,16 @@ def main(benchmark: str, data_path: str, query_path: str,
iterations: int, outpu
for iteration in range(0, iterations):
print(f"Starting iteration {iteration} of {iterations}")
- for query in range(1, num_queries+1):
+ # Determine which queries to run
+ if query_num is not None:
+ # Validate query number
+ if query_num < 1 or query_num > num_queries:
+ raise ValueError(f"Query number {query_num} is out of range.
Valid range is 1-{num_queries} for {benchmark}")
+ queries_to_run = [query_num]
+ else:
+ queries_to_run = range(1, num_queries+1)
+
+ for query in queries_to_run:
spark.sparkContext.setJobDescription(f"{benchmark} q{query}")
# read text file
@@ -108,6 +117,7 @@ if __name__ == "__main__":
parser.add_argument("--queries", required=True, help="Path to query files")
parser.add_argument("--iterations", required=False, default="1", help="How
many iterations to run")
parser.add_argument("--output", required=True, help="Path to write output")
+ parser.add_argument("--query", required=False, type=int, help="Specific
query number to run (1-based). If not specified, all queries will be run.")
args = parser.parse_args()
- main(args.benchmark, args.data, args.queries, int(args.iterations),
args.output)
+ main(args.benchmark, args.data, args.queries, int(args.iterations),
args.output, args.query)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]