Tableau Desktop and Server with MotherDuck
Tableau is a widely-used business intelligence and data visualization platform that enables data analysts to build interactive dashboards and reports. You can connect Tableau Cloud to MotherDuck through the built-in PostgreSQL connector using MotherDuck's Postgres endpoint. For Tableau Desktop and Server, use the DuckDB JDBC connector.
Tableau Desktop setup for DuckDB and MotherDuck
-
Download a recent version of the DuckDB JDBC driver and copy it into the Tableau Drivers directory:
- MacOS:
~/Library/Tableau/Drivers/ - Windows:
C:\Program Files\Tableau\Drivers - Linux:
/opt/tableau/tableau_driver/jdbc
- MacOS:
-
Download the signed tableau connector (aka "Taco file") file from the latest available release and copy it into the Connectors directory:
- Desktop Windows:
C:\Users\[YourUser]\Documents\My Tableau Repository\Connectors - Desktop MacOS:
/Users/[YourUser]/Documents/My Tableau Repository/Connectors - Server Windows:
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Connectors - Server Linux:
[Your Tableau Server Install Directory]/data/tabsvc/vizqlserver/Connectors
- Desktop Windows:
Connecting
Once the Taco is installed, and you have launched Tableau, you can create a new connection by choosing "DuckDB by MotherDuck":

Local DuckDB database
If you wish to connect to a local DuckDB database, select "Local file" as DuckDB Server option, and use the file picker:

In-memory database
The driver can be used with an in-memory database by selecting the In-memory database DuckDB Server option.

The data will then need to be provided by an Initial SQL string, for example:
CREATE VIEW my_parquet AS
SELECT *
FROM read_parquet('/path/to/file/my_file.parquet');
You can then access it by using the Tableau Data Source editing controls.
MotherDuck
To connect to MotherDuck, you have two authentication options:
- Token -- provide the value that you get from MotherDuck UI.
- No Authentication -- unless
motherduck_tokenenvironment variable is available to Tableau at startup, you will then be prompted to authenticate when at connection time.
To work with a MotherDuck database in Tableau, you have to provide the database to use when issuing queries.
In MotherDuck Database field, provide the name of your database. You don't have to prefix it with md::
