Tableau source configuration

Updated:

Note This topic is only relevant if you are creating technical lineage via Edge. If you are using the CLI lineage harvester (deprecated), you need to create a <source ID> configuration file. The CLI harvester will officially reach its End of Life on July 31, 2026.

The Source configuration field in the Tableau technical lineage Edge capability allows you to:

Example JSON code

The value of the Source configuration field must be a valid block of JSON code.

For more hostnameMapping configuration examples and results, go to Tableau hostname, schema, and system name mapping.

"hostnameMapping" for host name mapping, with filtering

{
  "collibraSystemNames": {										
    "files": [
      {"filePath": "C:\\ProgramData\\Tableau\\Tableau Server\\data\\files\\sample.xls",
        "collibraSystemName": "sample-files"
      }
    ],
    "connectors": [
      {
        "connectorUrl": "tableau-server-connector-url.com",
        "collibraSystemName": "Oracle-connector"
      }
    ],
    "cloudFiles": [
      {
        "name": "file-name",
        "collibraSystemName": "FILE"
      }
    ]
},
  "hostnameMapping": {
	"found_dbname=*;found_hostname=abc.net;found_schema=DEFAULT": {
		"dbname": "CData",
		"schema": "Jan_1_2022",
		"dialect": "spark",
		"collibraSystemName": "TV_testing"
	}
},
  "filters": {
	 "sites":{
	   "site_name":"domain_id"
	 },
        "projects":{
          "site_name2 > project_name2": "domain-reference-id2",
          "site_name3 > project_name3 > subproject_name": "domain-reference-id2"
	 }
   }	
}			

"hostnameMapping" for host name mapping and domain mapping

{
  "collibraSystemNames": {										
    "files": [
      {"filePath": "C:\\ProgramData\\Tableau\\Tableau Server\\data\\files\\sample.xls",
        "collibraSystemName": "sample-files"
      }
    ],
    "connectors": [
      {
        "connectorUrl": "tableau-server-connector-url.com",
        "collibraSystemName": "Oracle-connector"
      }
    ],
    "cloudFiles": [
      {
        "name": "file-name",
        "collibraSystemName": "FILE"
      }
    ]
  },
  "hostnameMapping": {
	 "found_dbname=Test;found_hostname=*;found_schema=DEFAULT": {
		"dbname": "CData",
		"schema": "Jan_1_2022",
		"dialect": "spark",
		"collibraSystemName": "TV_testing"
	 }
  },
  "domainMapping": {
	 "<Site-1>": "reference-id-of-Domain-1",
	 "<Site-1> > <Project-Default>": "reference-id-of-Domain-2"
  }	
}				

Source configuration properties

You can use wildcards to capture multiple string combinations for any of the following properties.

Pattern Description
* Matches everything.
? Matches any single character.
[seq] Matches any character in "seq".
[!seq] Matches any character not in "seq".

The following table describes the various properties you can use in your JSON code block. Provide the content for each database in Tableau.

Property

Description Mandatory?
collibraSystemNames

This section contains the system information for different Tableau data sources. Depending on the kind of data source or connection, you have to specify how to connect to this data source.

For more information, see the Tableau documentation. We also recommend to check the list of supported connectors in Tableau.

No
files

This section contains connection information to one or more files in Tableau.

If you do not have files in Tableau, you can remove this section.

No
filePath
The full path to the file. For example, the path to a JSON file. No
collibraSystemName
The system name of the file. No
connectors

This section contains connection information to one or more connectors in Tableau.

If you do not have connectors in Tableau, you can remove this section. The values that you specify for this property are not case-sensitive.

No
connectorUrl
The URL of the connector. For example, the URL to Google Analytics. No
collibraSystemName
The system name of the connector. No
cloudFiles

This section contains connection information to one or more cloud files in Tableau's input data.

If you do not have cloud files in Tableau, you can remove this section.

No
name
The name of the file. For example, the name of a Zendesk file. No
collibraSystemName
The system name of the cloud file. No
hostnameMapping

This section allows you to map Tableau technical database, server and schema names to the respective real names, to preserve stitching.

Warning 
  • hostnameMapping replaces the following deprecated properties, which have been removed from this topic:
    • The databaseMapping property.
    • The databases sub-section of the collibraSystemNames section.

hostnameMapping must not be used in combination with either of these properties.

If you use the hostnameMapping section, you can still use the collibraSystemName property in conjunction with the files, connectors or cloudfiles sub-sections.

Example configuration

Copy
"hostnameMapping": {
    "found_dbname=databasename1;found_hostname=*;found_schema=test": {
        "dbname": "mssql-database-name",
        "schema": "mssql-schema-name",
        "dialect": "mssql",
        "collibraSystemName": "mssql-system-name"
        }
    }

For more example configurations, go to Tableau hostname, schema, and system name mapping.

No
found_dbname=<database name>;found_hostname=<server name>;found_schema=<schema name>

The database information of supported data sources in Tableau that is typically collected by the lineage harvester. It allows you to specify the name of the database (found_dbname), on which server a database is running (found_hostname), and optionally, the name of the schema (found_schema).

No
dbname

The name of the database of a supported data source in Tableau.

No
schema

The name of the default schema of a supported data source in Tableau.

If the lineage harvester fails to find a specific schema, it uses the default schema.

No
dialect

The dialect of the supported data source in Tableau.

You don't have to specify a dialect; it will automatically be detected. If, however, you are using a dialect that is not supported, you can use this property to specify a supported dialect that is a close comparison. That way, most of your queries will be detected and processed.

No

filters

This section defines:

  • From which Tableau sites and projects you want to harvest metadata.
  • Into which domains in Collibra you want to ingest the corresponding assets.

Filtering is transitive, which means that all resources in a specified project, such as Tableau workbooks and all sub-projects, are ingested.

Tableau assets that are not mapped to the specified domains, for example the Tableau Server assets and the parent projects (if you specify their sub-projects), are ingested in the default domain.

Important 
  • Filtering does not affect the amount of raw metadata that is harvested from Tableau and sent to the Collibra Data Lineage service instance. Rather, it determines which metadata is ingested as assets in Data Catalog.
  • The domainMapping and filters sections are mutually exclusive. Do not include both domainMapping and filters sections in your JSON file.
Tip 
  • If you want to ingest all of the projects in a Tableau site into multiple domains in Collibra, use the domainMapping section.
  • If you want to ingest all of the projects in a Tableau site into the default domain, use only the domainID property in the lineage harvester configuration file. The domainID property represents the default domain.
  • If you want to ingest all of the projects in a Tableau site into a single domain in Collibra, use site filtering.
  • If you want to ingest metadata from only some of the projects in a Tableau site, use project filtering.
  • You can use site filtering and project filtering together:
    • If filtering on the same site, this "filtering" is actually domain mapping, because nothing is filtered out. The contents of the projects are ingested in the specified domains, and the rest of the contents of the site are ingested in a different, specified domain.
    • If you are site filtering on a specific site and project filtering a different site, then site filtering is again a form of domain mapping, and the filtered projects are ingested in their specified domains.
    • If your lineage harvester configuration file includes sites that are not mentioned in the filters section of your <source ID> configuration file, those sites are ingested in the default domain.
No
sites

The Tableau sites to be ingested and the domain in which you want to ingest metadata from the Tableau sites.

If you have only one Tableau site, do not include a sites section in your <source ID> file. Instead, use a projects section, to filter on Tableau projects. Include a sites section only if all of the following are true:

  • You have more than one Tableau site.
  • You want to ingest all of the metadata from only one Tableau site into a single domain in Collibra.
  • The domain into which you want to ingest is not the default domain, meaning the domain specified in the domainId property in your lineage harvester configuration file.

No
site_name: domain_id
site_name
The name of the site to be ingested. The site name is case-sensitive.
domain_id
The unique reference ID of the domain in Collibra in which you want to ingest metadata. The domain ID is case-sensitive.
To ingest all metadata from a Tableau site in the specified domain, specify the site name and a separate domain ID for each site that you list on the siteIds property in the lineage harvester configuration file for Tableau. If the site_name or domain_id property is not specified for a site, the metadata from the site is ingested in the default domain.

To find a domain reference ID, open the relevant domain in Collibra. The URL looks like: https://<yourcollibrainstance>/domain/22258f64-40b6-4b16-9c08-c95f8ec0da26?view=00000000-0000-0000-0000-000000040001. In this example, the reference ID is in bold.

Example configuration

Copy
{
  "filters":{
    "sites":{
      "Training":"ca60b822-781b-4b3a-b44d-f65bd107ff92"
    },
    "projects":{
      "Testing > Databricks":"e8f4e4a8-4062-4a33-9b44-3ce3e18e4e22",
      "Product Demo > Customer Insights":"a305e6f7-7a49-49aa-aa85-41b1e689121b"
    }
   }
}
No
projects

The Tableau projects to be ingested and the domain in which you want to ingest metadata from the Tableau projects or sub-projects.

Project filtering is not relevant for those who have an Explorer role in Tableau, because Explorers need to configure permissions for each data object in Tableau that they want to ingest. As the Administrator role has access to all data objects, project filtering allows Administrators to specify which projects to ingest.

No
site_name > project_name : domain_id

The site_name should be the Tableau site name. The project_name should be the Tableau project name.

The domain_id should be the unique reference ID of the domain in Collibra in which you want to ingest metadata.

When you specify the site and project names, the following rules apply:

  • Add spaces before and after >. The spaces are separators between the site and project.
  • Specify the full exact site and project names.
  • The values are case-sensitive.

When you specify a Tableau project, all assets in the project are ingested in the specified domain. If you want to ingest assets from different Tableau projects in one domain, you can specify the same value for domain id for different projects.

Example configuration

Copy
"Collibra_tab_partner_site > JB_Test_2812": "d224a1a5-43b4-43b2-8df0-ddf8f2726b82"
No
site_name > project_name > sub-project_name : domain_id

The site_name should be the Tableau site name. The project_name should be the Tableau project name. Optionally, use sub-project_name to specify the Tableau sub-project name.

The domain_id property should be the unique reference ID of the domain in Collibra in which you want to ingest metadata.

When you specify the site, project and sub-project names, the following rules apply:

  • Add spaces before and after >. The spaces are separators between the site and project.
  • Specify the full exact site and project names.
  • The values are case-sensitive.

Example

Copy
"Collibra_tab_partner_site > JB_Test_2812 > ProjectJJ2": "d224a1a5-43b4-43b2-8df0-ddf8f2726b82"
No
domainMapping

This section defines in which domains in Collibra you want to ingest assets from your Tableau sites and Tableau projects.

Domain mapping is transitive, meaning that all resources, such as Tableau workbooks and data attributes in a parent Tableau site, project or sub-project, are ingested in the same domain as the parent.

Important The domainMapping and filters sections are mutually exclusive. Do not include both domainMapping and filters sections in your JSON file.

Tip 
  • If you want to ingest all of the projects in a Tableau site into multiple domains in Collibra, use this domainMapping section.
  • If you want to ingest all of the projects in a Tableau site into the default domain, use only the domainID property in the lineage harvester configuration file. The domainID property represents the default domain.
    Note Tableau assets that are not mapped to specific domains via this domainMapping section, for example Tableau Server assets, are ingested in that default domain.
  • If you want to ingest all of the projects in a Tableau site into a single domain in Collibra, use site filtering.
  • If you want to ingest metadata from only some of the projects in a Tableau site, use project filtering.

Example

Let's say that you have a Tableau site named "Site-1". You want to ingest all Tableau projects in "Site-1" in a domain named "Domain-1" in Collibra, with the exception of one Tableau project named "Project-Default", which you want to ingest in "Domain-2". You should configure the domainMapping section as follows.

Copy
"domainMapping": {
     "<Site-1>": "reference-id-of-Domain-1",
     "<Site-1> > <Project-Default>": "reference-id-of-Domain-2"
    }

If you want to specify a domain for a sub-project of "Project-Default", use the <site name> > <project name> > <sub-project name> property, as described below.

For the properties in this domainMapping section, ensure that you maintain the spaces before and after ">", for example "Site-1 > Project-Default". The spaces serve as a separator between the site and the projects.
No
site name

The Tableau site name, followed by the unique reference ID of the domain in Collibra in which you want to ingest resources from the Tableau site.

In the configuration file, use the actual site name, along with the domain reference ID, for example: "Collibra_tab_partner_site": "afc8cfb0-91f1-4075-a3e5-7ce6d1f9bcc9"
No
site name > project name

The Tableau project name, preceded by the name of the Tableau site to which it belongs, and followed by the unique reference ID of the domain in Collibra in which you want to ingest resources from the Tableau project.

In the configuration file, use the actual site and project names, along with the domain reference ID, for example: "Collibra_tab_partner_site > JB_Test_2812": "d224a1a5-43b4-43b2-8df0-ddf8f2726b82"
No
site name > project name > sub-project name

The Tableau sub-project name, preceded by the name of the Tableau site and project to which it belongs, and followed by the unique reference ID of the domain in Collibra in which you want to ingest resources from the Tableau sub-project.

In the configuration file, use the actual site, project and sub-project names, along with the domain reference ID, for example: "Collibra_tab_partner_site > JB_Test_2812 > ProjectJJ2": "d224a1a5-43b4-43b2-8df0-ddf8f2726b82"
No