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

Support Teradata #3102

Open
moukat opened this issue Aug 2, 2016 · 14 comments

Comments

Projects
None yet
9 participants
@moukat
Copy link

commented Aug 2, 2016

JDBC Driver:
http://downloads.teradata.com/download/connectivity/jdbc-driver

Teradata SQL to get list of tables:

SELECT TableName 
FROM dbc.tables 
WHERE DatabaseName='{database name}'
ORDER BY 1

Teradata SQL to get list of table columns:

SELECT ColumnName
FROM DBC.COLUMNS 
WHERE TableName='{table name}' AND DatabaseName = '{database name}'
ORDER BY ColumnId

⬇️ Please click the 👍 reaction instead of leaving a +1 or 👍 comment

@camsaul

This comment has been minimized.

Copy link
Member

commented Sep 3, 2016

Hi @moukat, we're adding support for various DBs based on community demand. Since you're the only person who's asked for Teradata thus far, that might be a while 😉

If you're familiar with Clojure and feeling adventurous you can try writing a driver yourself. I'm available to help with any questions you might run into.

@moukat

This comment has been minimized.

Copy link
Author

commented Sep 13, 2016

Hi @camsaul
I am not familiar at all with Clojure, but some guys in my team are ;-)
few question:

  1. How are the JOIN conditions between table defined? based on column name? or should it be manually set?
  2. Do you think we can re-use the generic_sql namespace without any change?
@camsaul

This comment has been minimized.

Copy link
Member

commented Sep 13, 2016

Hi @moukat, JOINs are inferred automatically when a query references a column in another table. For SQL drivers, you shouldn't need to worry about that yourself.

For the most part, your driver can "inherit" from the Generic SQL driver. You do need to supply a some methods to handle things that seem to have no consistent SQL syntax, like extracting months or years from dates, and you need to do a few other things like supplying a mapping of database types to Metabase internal types.

Take a look at the Postgres and MySQL drivers for examples of what you'd be getting yourself into 😉

@salsakran

This comment has been minimized.

Copy link
Contributor

commented Sep 13, 2016

Also, the single biggest thing to figure out is how to test the driver.

Will you be able to host an instance we can hit from CI?

@moukat

This comment has been minimized.

Copy link
Author

commented May 5, 2017

We developed a Teradata Driver. It's working quite fine. We still need to correct few issues (mainly with time datatypes) to pass the all tests... but our developer is not available anymore to continue this, so if someone is interested to takeover....

@jburgueno

This comment has been minimized.

Copy link

commented Oct 5, 2017

@moukat Hi moukat! would you mind sharing your Teradata Driver implementation here? I'm working on one my self and it would help if you could share what you have.

@moukat

This comment has been minimized.

Copy link
Author

commented Nov 27, 2017

Hi @jburgueno, hi all , we could finally finalize this driver and made a branch here: https://github.com/swisscom-bigdata/metabase/tree/dev/teradata_driver
and pull request #6459

From Swisscom-BigData Team (https://github.com/swisscom-bigdata)

@EmanueleRC

This comment has been minimized.

Copy link

commented Jan 30, 2018

Hi @moukat , could you please explain me how or where, I can download the JAR that support Teradata ?T Thank you

@moukat

This comment has been minimized.

Copy link
Author

commented Jan 30, 2018

Hi @EmanueleRC , actually we do not provide JAR file. We have just produced the source code and made a pull request. We are now waiting for this pull request to be accepted... When PR accepted, our change will be merged to core project and it should be integrated into the official JAR distribution.

Meanwhile, you could

  • Vote for this issues in order to show community interest (and share it to all people having potential interest). Add a 👍 on the first comment for that.
  • Take our source from our PR and build the JAR yourself (more for testing)
@pbollu

This comment has been minimized.

Copy link

commented Feb 7, 2018

Hi @EmanueleRC,

Metabase is awesome, please add support for Teradata. This will allow Enterprises to try with their existing data in Teradata.

Thank you,
Phani.

@camsaul

This comment has been minimized.

Copy link
Member

commented Feb 9, 2018

Note: open PR is here #6459

@aedocw

This comment has been minimized.

Copy link

commented Feb 22, 2018

I'm working on providing an instance that can be hit for CI, will update here as soon as I make some progress and have an idea of how long it will take.

@luca-vercelli

This comment has been minimized.

Copy link

commented Mar 15, 2019

any update on this topic?

@flamber

This comment has been minimized.

Copy link
Contributor

commented Mar 15, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.