Dremio Connector and Tableau Queries

Hello,

I am facing an issue which I have not been able to find any additional information on. Unfortunately, I am unable to load a workbook as there is sensitive data and connects to secure databases.

Tableau Desktop Version: 2018.3

Tableau Server Version: 2018.3

Query engine: Dremio 3.2.2
Dremio ODBC Driver: 1.4

I have workbooks that are set up with 1 extract and 1 live connection. We are passing selected values from the extract to the live connection.

When I load these workbooks locally on desktop, I see unwanted queries hitting Dremio I have been unable to suppress using Dremio Connector .tdc file. Through a performance recording, these queries aren’t tied back to a worksheet.

When I load these same workbooks from the server, I don’t see these unwanted queries.

My main question, is there processing difference that takes place when loading from desktop to server? We are trying to test out upgrades and this is hindering our go/no-go call. Is there any documentation in how tableau handles queries from desktop to server level?

Desktop:

There are two queries in question:

  1. selects my fact and joins to all my dimensions - when I run this in Dremio, it produces a table, a dimension table(?).

  2. count distinct of values using a have clause - HAVING (COUNT(1) > 0)

Server:

Queries here run much faster and we don’t see the long running queries.

Thanks so much in advance.

Hello @bseef,

I’m not sure if there are any transformations applied to workbooks when deployed on Tableau Desktop vs Server (that would be a good question for Tableau Community). Dremio is executing the queries sent to it from Tableau (Server or Desktop) workbooks based on the client ODBC connection configuration and the *.tdc file. My thought here is that that Tableau Desktop is not using the extract and is somehow querying the data source that the extract is built from instead, and that’s why you are seeing the extra queries. But that’s not something I can be sure of.

Do you have job profiles for all the queries sent to Dremio via the Desktop connection versus the Server connection? You can compare these to see which datasources are actually getting queried in each environment. You should be able to see these in the Dremio Jobs page if you filter for “External Tools”

From my experience I think Tableau indeed generated a lot of their own “generated SQL” to gather column statistics, etc., especially when customising workbook.
Our team solution is making tons of prepared data mart from god-knows-how-long-the-custom-sql submitted by our users in Dremio on “$scratch” and then create a VDS as an alias to read from table in “$scratch”. Our tableau then doing live query to said VDS and everything run in miliseconds.

Hey Ben,

Thanks for the response! I have posted over on the Tableau forums as well. Thought I’d try here too to see if anyone has run into this issue.

I have *.tdc for the Dremio ODBC driver 1.0.3 and 1.4. They are identical except the newer .tdc doesn’t have the following customization:

I have tried adding this to the new .tdc file as well, but no luck. I have been referencing this tableau page. I can continue to look into this to see if there is a customization I could be missing, but then I’d be altering the original .tdc file that comes packaged with the driver. I assume these are metadata queries tableau is gathering, so hoping there is a way to suppress them.

The queries are from our live connection in the workbook and hitting our VDS we create off of our source data.I have tried converting the extract to live, so it’s an all live workbook, but still see the queries. My thought here is that Tableau is materializing for it’s purposes?

Hey @chafidz,

Thanks for the response! We are creating VDS off of our source data. I think Tableau is the main culprit here and hopefully can suppress these queries via the .tdc file.

Additionally, we are seeing these queries fire off for both versions of our dremio driver.

Correct, Tableau is issuing the queries. We are working with Tableau to improve the Dremio experience.

Hi @doron, thanks for confirming!

Do you have any insight into why we only see these when running on desktop? Or is it fair to assume these are run on the server when publishing and stored as metadata? Interested in knowing why Tableau throws these and for what purposes, but I know that isn’t a question for Dremio.

Our concern with these queries is that they take away resources, slowing down other user queries. Ideally, we would like to suppress these using the .tdc file.

Thanks again!

1 Like