flink icon indicating copy to clipboard operation
flink copied to clipboard

[FLINK-35293][hive] Hive source supports dynamic parallelism inference

Open SinBex opened this issue 1 year ago • 3 comments

What is the purpose of the change

FLIP-379 introduces dynamic source parallelism inference, which, compared to static inference, utilizes runtime information to more accurately determine the source parallelism. The FileSource already possesses the capability for dynamic parallelism inference. As a follow-up task to FLIP-379, this FLIP plans to implement the dynamic parallelism inference interface for HiveSource, and also switches the default static parallelism inference to dynamic parallelism inference.

Brief change log

  • Enable HiveSource with dynamic parallelism inference capability.
  • Switch the default parallelism inference mode of HiveSource to dynamic inference and introduce a new configuration 'table.exec.hive.infer-source-parallelism.mode' to select the mode, while deprecating the original configuration 'table.exec.hive.infer-source-parallelism'.

Verifying this change

  • Added unit tests for HiveSource#inferParallelism.
  • Verify functional and performance changes on actual clusters through TPC-DS.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): ( no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
  • The serializers: (no )
  • The runtime per-record code paths (performance sensitive): (no )
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
  • The S3 file system connector: (no )

Documentation

  • Does this pull request introduce a new feature? (yes )
  • If yes, how is the feature documented? (docs)

SinBex avatar May 09 '24 03:05 SinBex

@zhuzhurk Could you please help to review this pr in your free time? Thanks.

SinBex avatar May 09 '24 03:05 SinBex

CI report:

  • ad9d5d0e70a4022ab4281731214f65bcac4db55e Azure: SUCCESS
Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

flinkbot avatar May 09 '24 03:05 flinkbot

@flinkbot run azure

SinBex avatar May 10 '24 01:05 SinBex