Skip to content

ClickBench — Wide Aggregation

ClickBench benchmark · all ClickBench queries

90-column SUM(ResolutionWidth + N) - wide aggregation test

Representative SQL

Rendered for DataFusion with default parameters.

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

Representative DataFrame

Expression family (Polars, PySpark, DataFusion), default parameters.

def q30_expression_impl(ctx: DataFrameContext) -> Any:
col, lit = ctx.col, ctx.lit
return _hits(ctx).select(*[(col("ResolutionWidth") + lit(i)).sum().alias(f"sum_{i}") for i in range(90)])

Get the exact query for your run

The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:

from benchbox import ClickBench
bench = ClickBench(scale_factor=1.0) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['Q30'])

For the DataFrame form:

from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('clickbench', 'Q30', family="expression").source) # or family="pandas"

Source

Query text: benchbox/core/clickbench/queries.py