Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged

Conversation

SinBex
Copy link
Contributor

@SinBex SinBex commented May 9, 2024

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
Copy link
Contributor Author

SinBex commented May 9, 2024

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

@flinkbot
Copy link
Collaborator

flinkbot commented May 9, 2024

CI report:

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

@SinBex SinBex force-pushed the dynamic_parallelism_infer_for_hive_source branch from 263d2ba to bffd8b1 Compare May 9, 2024 03:41
@SinBex
Copy link
Contributor Author

SinBex commented May 10, 2024

@flinkbot run azure

@SinBex SinBex force-pushed the dynamic_parallelism_infer_for_hive_source branch 2 times, most recently from 4ad7ba4 to 8d867f7 Compare May 10, 2024 05:53
Copy link
Contributor

@zhuzhurk zhuzhurk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for creating this PR! @SinBex
I have a few comments. PTAL.

@SinBex SinBex force-pushed the dynamic_parallelism_infer_for_hive_source branch 2 times, most recently from c5fd4e4 to f99c425 Compare May 13, 2024 08:24
Copy link
Contributor

@zhuzhurk zhuzhurk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing all the comments. @SinBex
The change looks quite good to me now. Nice work!
Could you squash the commits? I will merge the squashed commit once the CI gives green.

@SinBex SinBex force-pushed the dynamic_parallelism_infer_for_hive_source branch from f99c425 to ad9d5d0 Compare May 13, 2024 11:00
@zhuzhurk zhuzhurk merged commit ddb5a53 into apache:master May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants