Interface JoinRecordAsyncStateView

  • All Known Subinterfaces:
    OuterJoinRecordAsyncStateView

    public interface JoinRecordAsyncStateView
    A JoinRecordAsyncStateView is a view to the join state. It encapsulates the join state and provides some APIs facing the input records. The join state is used to store input records. The structure of the join state is vary depending on the JoinInputSideSpec.

    For example: when the JoinInputSideSpec is JoinKeyContainsUniqueKey, we will use ValueState to store records which has better performance.

    Different with JoinRecordStateView, this interface is based on async state api.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.apache.flink.api.common.state.v2.StateFuture<Void> addRecord​(org.apache.flink.table.data.RowData record)
      Add a new record to the state view.
      org.apache.flink.api.common.state.v2.StateFuture<List<OuterRecord>> findMatchedRecords​(Function<org.apache.flink.table.data.RowData,​Boolean> condition)
      Find all the records matched the condition under the current context (i.e. join key).
      org.apache.flink.api.common.state.v2.StateFuture<Void> retractRecord​(org.apache.flink.table.data.RowData record)
      Retract the record from the state view.
    • Method Detail

      • addRecord

        org.apache.flink.api.common.state.v2.StateFuture<Void> addRecord​(org.apache.flink.table.data.RowData record)
        Add a new record to the state view.
      • retractRecord

        org.apache.flink.api.common.state.v2.StateFuture<Void> retractRecord​(org.apache.flink.table.data.RowData record)
        Retract the record from the state view.
      • findMatchedRecords

        org.apache.flink.api.common.state.v2.StateFuture<List<OuterRecord>> findMatchedRecords​(Function<org.apache.flink.table.data.RowData,​Boolean> condition)
        Find all the records matched the condition under the current context (i.e. join key).