Re: Hosting Tableau Connector in Calcite

2024-01-29 Thread Julian Hyde
Thanks for reaching out, Jerin!

(Jerin and I work together at Google, but I’m wearing my Calcite hat here.)

A Tableau connector is something Calcite has needed for some time, and
in fact there is a Jira case for it [1]. The goals were (1) create a
'vanilla' connector to that Tableau can connect to via Avatica to a
server speaking Calcite's dialect to SQL, and (2) create a starting
point for products based on Calcite/Avatica to create their own
Tableau connectors.

I think that what you have built will meet the needs of (1).

Where to host it? A separate git repository within the Calcite project
would seem to be ideal, but it would incur extra effort making
periodic releases. Being pragmatic, a subdirectory of Calcite will is
a good place to start.

The choice of GoogleSQL as the supported dialect isn't ideal, but is a
good start. After all, Calcite can be configured to speak that
dialect, and you have run the tests to prove it. If someone would like
to create a Tableau connector that uses another dialect (such as
Calcite's native dialect), this is a great starting point.

The next step would be a PR, linked to 4859.

In the PR, can you describe how to build and test the connector? If
it's not possible to do that automatically as part of Calcite's CI and
release process, there should at least be documented steps and scripts
to achieve that, and there should be at least a minimal test that we
can run as part of Calcite CI.

Julian

[1] https://issues.apache.org/jira/browse/CALCITE-4859

On Wed, Jan 24, 2024 at 3:34 PM Jerin John  wrote:
>
> Hi Calcite Devs,
>
> We have been working on creating a version of the Tableau connector [1]
> that allows Tableau Desktop and server to connect to external data sources,
> in this case to interface with our BI application, Looker. We created a
> dialect definition (TDD file) [2] conformant to the GoogleSQL standard and
> are hosting the current version of this connector in our looker-open-source
> fork of Calcite [3].
>
> If anybody is interested in collaborating on/utilizing an open-source
> Calcite/Avatica-Tableau connector using a GoogleSQL-based TDD, we'd love to
> gather some inputs on hosting this on the Calcite main repo or another
> repository under the calcite/apache projects.
> Happy to share more info and awaiting your comments!
>
> Links:
> [1] https://tableau.github.io/connector-plugin-sdk/docs/
> [2]
> https://github.com/looker-open-source/calcite/blame/connector/connector/tableau/looker-jdbc/dialect.tdd
> [3] https://github.com/looker-open-source/calcite/tree/connector
>
> Thanks and regards,
> Jerin


Re: Hosting Tableau Connector in Calcite

2024-01-30 Thread Jerin John
Hi Julian,

Thank you for the response and sharing this information!
That makes sense, I will draft a PR linked to the JIRA that upstreams the
connector files hosted in our looker-open-source Calcite fork [1].

With respect to testing, it currently requires us to set up a Tableau
instance with the connector configured and run Tableau's automated test
suite - TDVT [2]. I could add those instructions in a readme for subsequent
testing, but it might not be feasible to make it a part of CI as we need a
running tableau instance to test the connector.

[1]
https://github.com/looker-open-source/calcite/tree/connector/connector/tableau
[2] https://tableau.github.io/connector-plugin-sdk/docs/tdvt

Best regards,
Jerin


On Mon, Jan 29, 2024 at 1:23 PM Julian Hyde  wrote:

> Thanks for reaching out, Jerin!
>
> (Jerin and I work together at Google, but I’m wearing my Calcite hat here.)
>
> A Tableau connector is something Calcite has needed for some time, and
> in fact there is a Jira case for it [1]. The goals were (1) create a
> 'vanilla' connector to that Tableau can connect to via Avatica to a
> server speaking Calcite's dialect to SQL, and (2) create a starting
> point for products based on Calcite/Avatica to create their own
> Tableau connectors.
>
> I think that what you have built will meet the needs of (1).
>
> Where to host it? A separate git repository within the Calcite project
> would seem to be ideal, but it would incur extra effort making
> periodic releases. Being pragmatic, a subdirectory of Calcite will is
> a good place to start.
>
> The choice of GoogleSQL as the supported dialect isn't ideal, but is a
> good start. After all, Calcite can be configured to speak that
> dialect, and you have run the tests to prove it. If someone would like
> to create a Tableau connector that uses another dialect (such as
> Calcite's native dialect), this is a great starting point.
>
> The next step would be a PR, linked to 4859.
>
> In the PR, can you describe how to build and test the connector? If
> it's not possible to do that automatically as part of Calcite's CI and
> release process, there should at least be documented steps and scripts
> to achieve that, and there should be at least a minimal test that we
> can run as part of Calcite CI.
>
> Julian
>
> [1] https://issues.apache.org/jira/browse/CALCITE-4859
>
> On Wed, Jan 24, 2024 at 3:34 PM Jerin John 
> wrote:
> >
> > Hi Calcite Devs,
> >
> > We have been working on creating a version of the Tableau connector [1]
> > that allows Tableau Desktop and server to connect to external data
> sources,
> > in this case to interface with our BI application, Looker. We created a
> > dialect definition (TDD file) [2] conformant to the GoogleSQL standard
> and
> > are hosting the current version of this connector in our
> looker-open-source
> > fork of Calcite [3].
> >
> > If anybody is interested in collaborating on/utilizing an open-source
> > Calcite/Avatica-Tableau connector using a GoogleSQL-based TDD, we'd love
> to
> > gather some inputs on hosting this on the Calcite main repo or another
> > repository under the calcite/apache projects.
> > Happy to share more info and awaiting your comments!
> >
> > Links:
> > [1] https://tableau.github.io/connector-plugin-sdk/docs/
> > [2]
> >
> https://github.com/looker-open-source/calcite/blame/connector/connector/tableau/looker-jdbc/dialect.tdd
> > [3] https://github.com/looker-open-source/calcite/tree/connector
> >
> > Thanks and regards,
> > Jerin
>