Tableau
Integrating your Tableau in Catalog
Requirements
For all Tableau clients:
Tableau admin credentials
For Tableau Server clients only:
Have the Metadata API enabled. View how here
Have the API gateway. By default it is the url you use to access Tableau
⚠️ Clients using Tableau server version < 2019.3 will not have lineage to tables available
If you have MFA enabled for your account, you will need to use the Tableau personal access token (PAT) option
If needed, whitelist Catalog IP
Here is our fixed IP: 35.246.176.138
Catalog managed
You can upload your credentials directly in the App when creating your Tableau integration
We need: a Tableau personal access token (PAT):
{
"serverUrl": "https://something.tableau.com/",
"siteId": "something",
"tokenName": "catalog",
"token": "abcdefgh"
}
serverUrl
: Tableau base url, your api endpoint, usually your tableau URL homepage, an example: https://eu-west-1a.online.tableau.com
siteId
: The Tableau Server site you are authenticating with. For example in the site URL http://MyServer/#/site/MarketingTeam/projects
, the site name is MarketingTeam
.
For your first sync, it will take up to 48h and we will let you know when it is complete ✅
If you are not comfortable giving us access to your credentials, please continue to Client managed 👇
Client managed
Doing a one shot extract
For your trial, you can simply give us a one shot view of your BI tool's
To get things working quickly, here's a Google Colab to run swiftly our package.
Running the Extraction package
Install the PyPi package
pip install castor-extractor[tableau]
For further details: link
Running the PyPi package
Once the package has been installed, you should be able to run the following command in your terminal:
castor-extract-tableau [arguments]
The script will run and display logs as following:
INFO - Logging in using user and password authentication
INFO - Signed into https://eu-west-1a.online.tableau.com as user with id ****
INFO - Extracting USER from Tableau API
INFO - Fetching USER
INFO - Querying all users on site
...
INFO - Wrote output file: /tmp/catalog/1649078755-custom_sql_queries.json
INFO - Wrote output file: /tmp/catalog/1649078755-summary.json
Credentials
You can sign-in using the following method:
Tableau personal access token (PAT)
-n
,--token-name
: Tableau token name-t
,--token
: Tableau token
Other arguments
-b
,--server-url
: Tableau base url, your api endpoint, usually your tableau URL homepage, an example: https://eu-west-1a.online.tableau.com-i
,--site-id
: Tableau Site ID, is empty if your site if the default one-o
,--output
: target folder to store the extracted files
Scheduling and Push to Catalog
When moving out of trial, you'll want to refresh your Tableau content in Catalog. Here is how to do it:
Your source id provided by Catalog, referred as
source_id
in the code examplesYour Catalog Token given by Catalog
We recommend using the castor-upload
command:
castor-upload [arguments]
The Catalog team will provide you with
Catalog Identifier
(an id for us to match your Tableau files with your Catalog instance)Catalog Token
An API Token
You can then use the castor-upload
command:
castor-upload [arguments]
Arguments
-k
,--token
: Token provided by Catalog-s
,--source_id
: account id provided by Catalog-t
,--file_type
: source type to upload. Currently supported are {DBT
|VIZ
|WAREHOUSE
}
Target files
To specify the target files, provide one of the following:
-f
,--file_path
: to push a single file
or
-d
,--directory_path
: to push several files at once (*)
(*) The tool will upload all files included in the given directory.
Make sure it contains only the extracted files before pushing.
Then you'll have to schedule the script run and the push to Catalog, use your preferred scheduler to create this job
You're done!
Last updated
Was this helpful?