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

Teradata Connector #16373

Merged
merged 21 commits into from
May 28, 2024
Merged

Teradata Connector #16373

merged 21 commits into from
May 28, 2024

Conversation

gpby
Copy link
Contributor

@gpby gpby commented May 21, 2024

Supporting Teradata Vantage:

Fixes #15756

Here is a beta version of Teradata Database / Teradata Vantage Connector
It supports only Metadata and Profiler ingestion

Known limitations:

  • No columns info for Views (only ColumnName)
  • Unable to parse DDL for views for some cases: REPLACE VIEW (only CREATE VIEW supported), LOCKING .. FOR ACEESS, etc. Third party library sqlparse should be adopted for Teradata specific.
  • There are no schemas in Teradata only Databases but from entity point of view Teradara Database is OpenMetadata Schema. So Database for each Teradata object in OM will be default and Terdata DatabaseName used as OM Schema

Type of change:

  • New feature

Checklist:

  • I have read the CONTRIBUTING document.

  • My PR title is Fixes 15756: Support Teradata Connector

  • I have commented on my code, particularly in hard-to-understand areas.

  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

  • The issue properly describes why the new feature is needed, what's the goal, and how we are building it. Any discussion
    or decision-making process is reflected in the issue.

  • I have updated the documentation.

  • I have added tests around the new logic.

Copy link
Contributor

The Python checkstyle failed.

Please run make py_format and py_format_check in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Python code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

Copy link
Contributor

github-actions bot commented May 22, 2024

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 64%
64.79% (34797/53710) 41.66% (13718/32927) 43.6% (4268/9788)

Copy link

cypress bot commented May 22, 2024

2 failed tests on run #34268 ↗︎

2 481 8 0 Flakiness 0

Details:

Merge branch 'main' into teradata
Project: openmetadata Commit: 966fe39fae
Status: Failed Duration: 00:14 💡
Started: May 27, 2024 7:40 AM Ended: May 27, 2024 8:40 AM
Failed  cypress/e2e/Pages/Services.spec.ts • 2 failed tests • cypress-ci-mysql-pr-9250839733-1

View Output Video

Test Artifacts
Services detail page > Database Service page > GlossaryTerm assign, update & delete Screenshots Video
Services detail page > Database Service page > Soft delete Screenshots Video

Review all test suite changes for PR #16373 ↗︎

@pmbrull
Copy link
Collaborator

pmbrull commented May 22, 2024

hi @gpby, thanks a lot for the contribution! Appreciate the effort!

A couple of comments here:

  • You might need to run make py_format to ensure CI passes
  • We might need your help with the docs. For example, here you can find the documentation for Athena. Basically, we need to ensure we direct users to the proper permissions and field descriptions. This can be a followup PR.
  • Re the lineage limitations, if you could please share a few queries as a comment in this issue Lineage Query Parsing issues #7427, it'll help us make the necessary enhancements to the lineage parsing module to add proper support for Teradata's dialect

Thanks!

@gpby
Copy link
Contributor Author

gpby commented May 22, 2024

  1. I've done make py_format
  2. I'm still working on documentattion
  3. I'll add sql examples with parsing errors

Copy link
Collaborator

@pmbrull pmbrull left a comment

Choose a reason for hiding this comment

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

Thanks @gpby, this LGTM. We can add the docs to another PR. Appreciate the effort

Copy link

Copy link

Quality Gate Failed Quality Gate failed for 'open-metadata-ingestion'

Failed conditions
6.6% Coverage on New Code (required ≥ 20%)

See analysis details on SonarCloud

@pmbrull pmbrull merged commit d909a31 into open-metadata:main May 28, 2024
20 of 24 checks passed
@gpby gpby deleted the teradata branch May 28, 2024 21:10
@gpby gpby mentioned this pull request Jun 15, 2024
5 tasks
chirag-madlani pushed a commit that referenced this pull request Jul 2, 2024
* [WIP] add teradata connector

* [WIP] add teradata ingestion

* [WIP] add teradata connector

* [WIP] add teradata connector

* [WIP] add teradata connector

* [WIP] add teradata connector

* [WIP] add teradata connector

* [WIP] add teradata connector

* Reformat code

* Remove unused databaseName property

(cherry picked from commit d909a31)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e:Integration Ready for testing Tickets that are fixed and ready for testing before closing them safe to test Add this label to run secure Github workflows on PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Connector for Teradata Vantage
3 participants