Skip to main content
This section provides guides and references for the Tableau Pipeline connector. Configure Tableau Pipeline metadata workflows externally with YAML:

How to Run the Connector Externally

To run the Ingestion via the UI you’ll need to use the OpenMetadata Ingestion Container, which comes shipped with custom Airflow plugins to handle the workflow deployment. If, instead, you want to manage your workflows externally on your preferred orchestrator, you can check the following docs to run the Ingestion Framework anywhere.

External Schedulers

Get more information about running the Ingestion Framework Externally

Requirements

OpenMetadata connects to Tableau Server or Tableau Cloud through the Tableau REST API and the Tableau Metadata API.
  • Tableau Server or Tableau Cloud: OpenMetadata must be able to reach it and authenticate with a username and password or a personal access token.
  • Metadata API enabled: Required for lineage. Without it, metadata and run status still ingest, but OpenMetadata draws no lineage edges. For more information, see Start the Metadata API.
  • Permissions: The user needs permission to list flows and flow runs, and to query the Metadata API for lineage. Users who are not administrators see only the runs of flows they can view.
  • Tableau Prep Conductor: Flows can run manually without Data Management, but scheduled flow runs need Tableau Prep Conductor.
  • Site administrator for extract refresh status: Tableau answers extract refresh job queries only for server and site administrators. Other users still get extract refresh pipelines for the refresh tasks they own, but without run status.

Lineage

The connector reads lineage from the Tableau Metadata API:
  • Input to output lineage: Each table or published data source a flow reads is linked to the tables or published data sources it writes, with the flow shown on the lineage edge.
  • Flow to flow lineage: A flow is linked to the flows that consume its output. Only direct consumers are linked.
  • Extract refresh lineage: An extract refresh pipeline is linked to the published data source or workbook data model it refreshes.
OpenMetadata resolves tables against the database services already in your instance. To restrict which services OpenMetadata searches, set Database Service Names List under Lineage Information in the metadata agent. Without it, OpenMetadata searches every database service and accepts only a single match, so a same-named table in another service never gets an edge. Published data sources and workbook extracts resolve to the data models created by the Tableau dashboard connector, so run the dashboard connector first.
Note: Column-level lineage is not available for Tableau Pipeline.

Python Requirements

Use Python 3.10 or later. Python 3.12 is recommended, because it is what the OpenMetadata 2.0 ingestion images use. To confirm the supported range for your release, check the Requires-Python metadata of that release’s openmetadata-ingestion package. To run the Tableau Pipeline ingestion, install:

Metadata Ingestion

All connectors are defined as JSON Schemas. See the Tableau Pipeline connection JSON Schema for the full set of properties. To create and run a metadata ingestion workflow, create a YAML configuration. The configuration connects to the source, processes entities if needed, and reaches the OpenMetadata server. The workflow is modeled around the following JSON Schema.

1. Define the YAML Config

Use the following YAML configuration as a starting point.

2. Run with the CLI

First, we will need to save the YAML file. Afterward, and with all requirements installed, we can run:
Note that from connector to connector, this recipe will always be the same. By updating the YAML configuration, you will be able to extract metadata from different sources.