SatyaKuppam commented on code in PR #18056: URL: https://github.com/apache/druid/pull/18056#discussion_r2724282071
########## docs/ingestion/ingestion-spec.md: ########## @@ -396,6 +396,48 @@ The `filter` conditionally filters input rows during ingestion. Only rows that p ingested. Any of Druid's standard [query filters](../querying/filters.md) can be used. Note that within a `transformSpec`, the `transforms` are applied before the `filter`, so the filter can refer to a transform. +### Projections + +Projections are a type of aggregation that Druid computes and stores as part of a segment. The pre-aggregated data reduces the number of rows the query engine needs to process when you run a query. This can speed up queries for query shapes that match a projection. + +Define projections for a new data source in the `projectionsSpec` block during ingestion. To add projections to an existing data source, see [create them afterwards](../querying/projections.md#manually-add-a-projection). + +Note that any projections you define becomes a dimension for your datasource. To remove a projection from your datasource, you need to reingest the data with the projection removed. Alternatively, you can use a query context parameter to not use projections for a specific query. Review Comment: > Note that any projections you define becomes a dimension for your datasource. Are we overloading what `dimension` means here? > To remove a projection from your datasource, you need to reingest the data with the projection removed. This is confusing and also out of scope of this PR I think: you can add projections as part of compaction, but you cannot remove projections as part of a compaction? Which is not ideal. But we should call it out here. ########## docs/ingestion/ingestion-spec.md: ########## @@ -396,6 +396,48 @@ The `filter` conditionally filters input rows during ingestion. Only rows that p ingested. Any of Druid's standard [query filters](../querying/filters.md) can be used. Note that within a `transformSpec`, the `transforms` are applied before the `filter`, so the filter can refer to a transform. +### Projections + +Projections are a type of aggregation that Druid computes and stores as part of a segment. The pre-aggregated data reduces the number of rows the query engine needs to process when you run a query. This can speed up queries for query shapes that match a projection. Review Comment: I think we should change this to: > Projections are a type of aggregation that Druid computes and stores as part of a segment. Projections are ingestion/compaction time aggregations that Druid computes on a subset of dimensions and metrics of a segment. They are stored within a segment. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
