Skip to content

ClickBench — Derived Column Group

ClickBench benchmark · all ClickBench queries

GROUP BY ClientIP and derived arithmetic columns - expression grouping

Representative SQL

Rendered for DataFusion with default parameters.

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

Representative DataFrame

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

def impl(ctx: DataFrameContext) -> Any:
result = _expr_filter(ctx, _hits(ctx), filter_code)
result = _expr_derive(ctx, result, derive_code)
result = result.group_by(*groups).agg(*[_expr_agg(ctx, token) for token in agg_spec.split(";")])
if sort_spec:
sort_cols, descending = _sort_parts(sort_spec)
result = result.sort(sort_cols, descending=descending)
if offset:
return result.slice(offset, limit)
return result.limit(limit) if limit else result

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['Q36'])

For the DataFrame form:

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

Source

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