Re: Using Tableau to connect to DB engines using Calcite's JDBC driver

2017-09-20 Thread Laurent Goujon
AFAIK Tableau uses Drill ODBC driver, not JDBC (although Tableau hinted at
some JDBC support at some point: https://community.tableau.com/ideas/4633).

it's technically feasible BUT the Drill protocol is very low level so the
adapter would have to use the Drill RPC protocol and represent its own data
as DrillBuf (which is column oriented, not row oriented). Also, Tableau
seems to optimize things a bit for a specific DB: it doesn't query the
driver for what is supported and lots of things are hardcoded, which means
either the DB would have to replicate Drill dialect of SQL, or the
adaptation layer would have to translate.

Laurent

On Tue, Sep 19, 2017 at 3:17 PM, Muhammad Gelbana 
wrote:

> Tableau supports Apache Drill JDBC driver, so you basically can use Drill
> as a data provider for Tableau.
>
> I'm asking if anyone implemented a Calcite adapter for some data engine and
> tested if Tableau would be able to connect to it as if it was Apache Drill
> ?
>
> It's like you connect to that adapter by configuring an Apache Drill
> connection to it, through Tableau.
>
> Because otherwise, that data engine will need to have an ODBC driver, which
> is clearly a pain in the neck if you Google enough. That's actually what
> I'm trying to do. I need to implement a Calcite adapter to support a data
> engine but supporting Tableau is essential to our customers and I'd be very
> happy if I can avoid going through the Calcite ODBC driver path.
>
> I apologize if this sounds like a Calcite question but I believe Drill
> developers who worked on the JDBC driver can give a good insight.
>
> If you ask me, I believe Drill is all about Calcite in distributed mode :D,
> this may very well be so sketchy point of view but I'm not experienced with
> Drill or Calcite myself.
>
> Hopefully I explained my self clearly.
>
> Thanks,
> Gelbana
>


Using Tableau to connect to DB engines using Calcite's JDBC driver

2017-09-19 Thread Muhammad Gelbana
Tableau supports Apache Drill JDBC driver, so you basically can use Drill
as a data provider for Tableau.

I'm asking if anyone implemented a Calcite adapter for some data engine and
tested if Tableau would be able to connect to it as if it was Apache Drill ?

It's like you connect to that adapter by configuring an Apache Drill
connection to it, through Tableau.

Because otherwise, that data engine will need to have an ODBC driver, which
is clearly a pain in the neck if you Google enough. That's actually what
I'm trying to do. I need to implement a Calcite adapter to support a data
engine but supporting Tableau is essential to our customers and I'd be very
happy if I can avoid going through the Calcite ODBC driver path.

I apologize if this sounds like a Calcite question but I believe Drill
developers who worked on the JDBC driver can give a good insight.

If you ask me, I believe Drill is all about Calcite in distributed mode :D,
this may very well be so sketchy point of view but I'm not experienced with
Drill or Calcite myself.

Hopefully I explained my self clearly.

Thanks,
Gelbana