private SplitEnumerator<MixedFormatSplit, MixedFormatSourceEnumState> createEnumerator(
      SplitEnumeratorContext<MixedFormatSplit> enumContext, MixedFormatSourceEnumState enumState) {
    SplitAssigner splitAssigner;
    if (scanContext.isStreaming()) {
      splitAssigner = new ShuffleSplitAssigner(enumContext, tableName, enumState);
      return new MixedFormatSourceEnumerator(
          enumContext, splitAssigner, loader, scanContext, enumState, dimTable);
    } else {
      splitAssigner = new StaticSplitAssigner(enumState);
      return new StaticMixedFormatSourceEnumerator(
          enumContext, splitAssigner, loader, scanContext, null);
    }
  }
generate mixed-format watermark. This is only for lookup join mixed-format table, and
mixed-format table is used as build table, i.e. right table.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/read/MixedFormatSource.java