diff --git a/docs-website/sidebars.js b/docs-website/sidebars.js index e9e67255d4e5d..3bccef46708d8 100644 --- a/docs-website/sidebars.js +++ b/docs-website/sidebars.js @@ -85,6 +85,13 @@ module.exports = { "docs/quick-ingestion-guides/snowflake/configuration", ], }, + { + Tableau: [ + "docs/quick-ingestion-guides/tableau/overview", + "docs/quick-ingestion-guides/tableau/setup", + "docs/quick-ingestion-guides/tableau/configuration", + ], + }, ], }, ], diff --git a/docs/quick-ingestion-guides/tableau/configuration.md b/docs/quick-ingestion-guides/tableau/configuration.md new file mode 100644 index 0000000000000..6baa271a7b997 --- /dev/null +++ b/docs/quick-ingestion-guides/tableau/configuration.md @@ -0,0 +1,150 @@ +--- +title: Configuration +--- +# Configuring Your Tableau Connector to DataHub + +Now that you have created a DataHub-specific user with the relevant access in Tableau in [the prior step](setup.md), it's now time to set up a connection via the DataHub UI. + +## Configure Secrets + +1. Within DataHub, navigate to the **Ingestion** tab in the top, right corner of your screen + +

+ Navigate to the "Ingestion Tab" +

+ +:::note +If you do not see the Ingestion tab, please contact your DataHub admin to grant you the correct permissions +::: + +2. Navigate to the **Secrets** tab and click **Create new secret** + +

+ Secrets Tab +

+ +3. Create a `username` secret + + This will securely store your Tableau `username` within DataHub + + * Enter a name like `TABLEAU_USERNAME` - we will use this later to refer in recipe + * Enter the `username`, setup in the [setup guide](setup.md) + * Optionally add a description + * Click **Create** + +

+ Tableau Username Secret +

+ +4. Create a `password` secret + + This will securely store your Tableau `password` within DataHub + + * Enter a name like `TABLEAU_PASSWORD` - we will use this later to refer in recipe + * Enter the `password` of the user, setup in the [setup guide](setup.md) + * Optionally add a description + * Click **Create** + +

+ Tableau Password Secret +

+ +## Configure Recipe + +5. Navigate to on the **Sources** tab and then **Create new source** + +

+ Click "Create new source" +

+ +6. Select Tableau + +

+ Select Tableau from the options +

+ +7. Fill in the Tableau Recipe form: + + You need to set minimum following fields in the recipe: + + a. **Host URL:** URL of your Tableau instance (e.g., https://15az.online.tableau.com/). It is available in browser address bar on Tableau Portal. + + b. **Username:** Use the TABLEAU_USERNAME secret (e.g., "${TABLEAU_USERNAME}"). + + c. **Password:** Use the TABLEAU_PASSWORD secret (e.g., "${TABLEAU_PASSWORD}"). + +To filter for specific site and project, use the `site` and `project_pattern` fields. + + config: + ... + site: "ProductionSalesSite" + project_pattern: + allow: + - "SalesProject" + +Your recipe should look something like this: +

+ tableau recipe in form format +

+ +Click **Next** when you're done. + +## Schedule Execution + +Now it's time to schedule a recurring ingestion pipeline to regularly extract metadata from your Tableau instance. + +8. Decide how regularly you want this ingestion to run-- day, month, year, hour, minute, etc. Select from the dropdown + +

+ schedule selector +

+ +9. Ensure you've configured your correct timezone +

+ timezone_selector +

+ +10. Click **Next** when you are done + +## Finish Up + +11. Name your ingestion source, then click **Save and Run** +

+ Name your ingestion +

+ +You will now find your new ingestion source running + +

+ ingestion_running +

+ +## Validate Ingestion Runs + +12. View the latest status of ingestion runs on the Ingestion page + +

+ ingestion succeeded +

+ +13. Click the plus sign to expand the full list of historical runs and outcomes; click **Details** to see the outcomes of a specific run + +

+ ingestion_details +

+ +14. From the Ingestion Run Details page, pick **View All** to see which entities were ingested + +

+ ingestion_details_view_all +

+ +15. Pick an entity from the list to manually validate if it contains the detail you expected + +

+ ingestion_details_view_all +

+ +**Congratulations!** You've successfully set up Tableau as an ingestion source for DataHub! + +*Need more help? Join the conversation in [Slack](http://slack.datahubproject.io)!* \ No newline at end of file diff --git a/docs/quick-ingestion-guides/tableau/overview.md b/docs/quick-ingestion-guides/tableau/overview.md new file mode 100644 index 0000000000000..bbb3ed049ff38 --- /dev/null +++ b/docs/quick-ingestion-guides/tableau/overview.md @@ -0,0 +1,38 @@ +--- +title: Overview +--- +# Tableau Ingestion Guide: Overview + +## What You Will Get Out of This Guide + +This guide will help you set up the Tableau connector to begin ingesting metadata into DataHub. + +Upon completing this guide, you will have a recurring ingestion pipeline that will extract metadata from Tableau and load it into DataHub. This will include to following Tableau asset types: + +* Dashboards +* Sheets +* Embedded DataSource +* Published DataSource +* Custom SQL Table +* Embedded or External Tables +* User +* Workbook +* Tag + +The pipeline will also extract: + +* **Usage statistics** help you understand top viewed Dashboard/Chart +* **Table- and Column-level lineage** automatically index relationships between datasets and columns + +## Next Steps + +Continue to the [setup guide](setup.md), where we'll describe the prerequisites. + +## Advanced Guides and Reference + +If you want to ingest metadata from Tableau using the DataHub CLI, check out the following resources: + +* Learn about CLI Ingestion in the [Introduction to Metadata Ingestion](../../../metadata-ingestion/README.md) +* [Tableau Ingestion Source](https://datahubproject.io/docs/generated/ingestion/sources/tableau) + +*Need more help? Join the conversation in [Slack](http://slack.datahubproject.io)!* \ No newline at end of file diff --git a/docs/quick-ingestion-guides/tableau/setup.md b/docs/quick-ingestion-guides/tableau/setup.md new file mode 100644 index 0000000000000..73dac977c4741 --- /dev/null +++ b/docs/quick-ingestion-guides/tableau/setup.md @@ -0,0 +1,60 @@ +--- +title: Setup +--- +# Tableau Ingestion Guide: Setup & Prerequisites + +In order to configure ingestion from Tableau, you'll first have to enable Tableau Metadata API and you should have a user with Site Administrator Explorer permissions. + +## Tableau Prerequisites + +1. Grant `Site Administrator Explorer permissions` to a user + + A. Log in to Tableau Cloud https://sso.online.tableau.com/public/idp/SSO. + + B. Navigate to `Users`. + +

+ Navigate to the Users tab +

+ + + C. **For New User**: Follow below steps to grant permission for new user. + + - Click `Add Users` -> `Add Users by Email` + +

+ Navigate to the Users tab +

+ + - Fill `Enter email addresses`, set `Site role` to `Site Administrator Explorer` and Click `Add Users` + +

+ Navigate to the Users tab +

+ + + D. **For Existing User:** Follow below steps to grant permission for existing user. + + - Select a user and click `Actions` -> `Site Role` + +

+ Actions Site Role +

+ + - Change user role to `Site Administrator Explorer` + +

+ tableau site role +

+ +2. **Enable Tableau Metadata API:** This step is required only for Tableau Server. The Metadata API is installed with Tableau Server but disabled by default. + + - Open a command prompt as an admin on the initial node (*where TSM is installed*) in the cluster + - Run the command: `tsm maintenance metadata-services enable` + + +## Next Steps + +Once you've done all of the above in Tableau, it's time to [move on](configuration.md) to configuring the actual ingestion source within DataHub. + +*Need more help? Join the conversation in [Slack](http://slack.datahubproject.io)!* \ No newline at end of file