Skip to content

Support SegmentSelector API to select segment names based on expression #6606

@xiangfu0

Description

@xiangfu0

Since Pinot supports batch segments replacement, there is a need to find out what are segments to replace in an existing table based on segment metadata.

E.g. When we want to backfill data on a particular date, we want to find out all the segments for that date.

Sample expression:

  1. Find segments for a given time range:
    segment.start.time >= 1614000000 and segment.end.time <1614150000
  2. Find segments for a partition:
    segment.partition.id==1

Ideally, if we can have a system logical table like __SEGMENTS_METADATA then we can direct send a query like:

SELECT segment_name FROM __SEGMENTS_METADATA WHERE SEGMENT_START_TIME >= 1614000000 and SEGMENT_END_TIME <1614150000

to query segment metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew functionality

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions