flink
flink copied to clipboard
[FLINK-35293][hive] Hive source supports dynamic parallelism inference
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)
@zhuzhurk Could you please help to review this pr in your free time? Thanks.
CI report:
- ad9d5d0e70a4022ab4281731214f65bcac4db55e Azure: SUCCESS
Bot commands
The @flinkbot bot supports the following commands:@flinkbot run azurere-run the last Azure build
@flinkbot run azure