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-13118][jdbc] Introduce JDBC table factory and bridge JDBC table source with streaming table source #9029

Merged
merged 1 commit into from
Jul 11, 2019

Conversation

tsreaper
Copy link
Contributor

@tsreaper tsreaper commented Jul 9, 2019

What is the purpose of the change

Currently JDBCTableSource only implements the LookupableTableSource interface and can only be used as a look-up table source. This PR bridges the table source with the StreamTableSource and ProjectableTableSource interfaces so that JDBCTableSource can also be used as a scan table source.

To create a proper jdbc table source and sink, this PR also introduces a JDBCTableSourceSinkFactory to create the sources and sinks according to the properties specified by users.

Brief change log

  • Implement StreamTableSource and ProjectableTableSource interfaces on JDBCTableSource.
  • Introduce JDBCTableSourceSinkFactory.

Verifying this change

This change is covered by new IT cases (JDBCTableSourceSinkFactoryITCase).

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, Yarn/Mesos, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

@flinkbot
Copy link
Collaborator

flinkbot commented Jul 9, 2019

Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
to review your pull request. We will use this comment to track the progress of the review.

Automated Checks

Last check on commit 1fee3fb (Tue Aug 06 15:40:27 UTC 2019)

Warnings:

  • No documentation files were touched! Remember to keep the Flink docs up to date!

Mention the bot in a comment to re-run the automated checks.

Review Progress

  • ❓ 1. The [description] looks good.
  • ❓ 2. There is [consensus] that the contribution should go into to Flink.
  • ❓ 3. Needs [attention] from.
  • ❓ 4. The change fits into the overall [architecture].
  • ❓ 5. Overall code [quality] is good.

Please see the Pull Request Review Guide for a full explanation of the review process.


The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands
The @flinkbot bot supports the following commands:

  • @flinkbot approve description to approve one or more aspects (aspects: description, consensus, architecture and quality)
  • @flinkbot approve all to approve all aspects
  • @flinkbot approve-until architecture to approve everything until architecture
  • @flinkbot attention @username1 [@username2 ..] to require somebody's attention
  • @flinkbot disapprove architecture to remove an approval you gave earlier

@flinkbot
Copy link
Collaborator

flinkbot commented Jul 9, 2019

CI report for commit fd92602: SUCCESS Build

Copy link
Contributor

@JingsongLi JingsongLi left a comment

Choose a reason for hiding this comment

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

Thanks @tsreaper for your nice code~ Left some comments.

@flinkbot
Copy link
Collaborator

CI report for commit d6fc337: FAILURE Build

@tsreaper
Copy link
Contributor Author

@wuchong do you need to take a look at the property api?

@flinkbot
Copy link
Collaborator

CI report for commit c1af055: FAILURE Build

@flinkbot
Copy link
Collaborator

CI report for commit 8d53e27: FAILURE Build

Copy link
Member

@wuchong wuchong left a comment

Choose a reason for hiding this comment

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

Thanks @tsreaper , I left some comments.

@flinkbot
Copy link
Collaborator

flinkbot commented Jul 11, 2019

CI report:

Copy link
Member

@wuchong wuchong left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks for the effort @tsreaper .

+1

wuchong pushed a commit to wuchong/flink that referenced this pull request Jul 11, 2019
wuchong pushed a commit to wuchong/flink that referenced this pull request Jul 11, 2019
@wuchong
Copy link
Member

wuchong commented Jul 11, 2019

@wuchong wuchong merged commit a91d951 into apache:master Jul 11, 2019
@tsreaper tsreaper deleted the jdbc branch July 11, 2019 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants