Closed
Description
Based on new the discussion, for the new AttributeExpression
translate it to appropriate Pinot queries.
As part of this ticket, address the conversation to pinot queries for QS having AttributeExpression
- selection
- groupby
- order by
- filter
e.g of with AttributeExpression
with subpath having filter clause
childFilter {
lhs {
AttributeExpression {
attributeId: "API_TRACE.tags"
subPath" "span.kind"
}
}
operator: EQ
rhs {
literal {
value {
valueType: STRING
string: "server"
}
}
}
}
Pinot Query (selection, and limit are assumed), see filter expression for tags attribute for reference
select mapValue(tags__KEYS,'span.kind',tags__VALUES) FROM spanEventView
WHERE tenant_id = '__default'
AND mapValue(tags__KEYS,'span.kind',tags__VALUES) != ''
AND by mapValue(tags__KEYS,'span.kind',tags__VALUES) = 'server'
limit 10000
Reference:
See the reference UI ticket - hypertrace/hypertrace-ui#1099 and discussion.
As a part of this issue, the following subtasks would be required :
- Add and test support for handling simple
attributeExpression
#104 - Add and test support for handling complex
attributeExpression
#105
Few follow up PR's which will be required are :
- Add support for
CONTAINS_KEY
andNOT_CONTAINS_KEY
for attributeExpression #122 - Add support for filtering map attributes using regex operator #109
- Replacing columnIdentifiers with attributeExpressions in preprocessing (tracked in fix: support for attribute expressions in selections #129)
Metadata
Metadata
Assignees
Labels
No labels