Read Primitives — TopN with Aggregation
Read Primitives benchmark · all Read Primitives queries
Top 10 limit returning 2 columns after aggregation and computed ordering
Representative SQL
Rendered for DataFusion with default parameters.
SELECT l_orderkey, SUM(l_quantity) AS total_quantityFROM lineitemGROUP BY l_orderkeyORDER BY total_quantity DESCLIMIT 10Representative DataFrame
Expression family (Polars, PySpark, DataFusion), default parameters.
def impl(ctx: DataFrameContext) -> Any: return aggregation_groupby_impl( ctx, table_name=table_name, group_cols=group_cols, agg_specs=agg_specs, conditions=conditions, sort_cols=sort_cols, sort_desc=sort_desc, limit=limit, )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 ReadPrimitives
bench = ReadPrimitives(scale_factor=0.01) # your scale factorqueries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQLprint(queries['topn_aggregate_2columns'])For the DataFrame form:
from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('read_primitives', 'topn_aggregate_2columns', family="expression").source) # or family="pandas"Source
Query text: benchbox/core/read_primitives/queries.py