-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(tableau): emit workbook as container entity in tableau source, s…
…ome minor fixes in tableau source (#4261)
- Loading branch information
1 parent
9f1c5a8
commit 92b0e1c
Showing
21 changed files
with
133,472 additions
and
130,753 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
# Tableau | ||
|
||
For context on getting started with ingestion, check out our [metadata ingestion guide](../README.md). | ||
|
||
Note that this connector is currently considered in `BETA`, and has not been validated for production use. | ||
|
@@ -19,22 +18,25 @@ on Tableau online. | |
Tableau's GraphQL interface is used to extract metadata information. Queries used to extract metadata are located | ||
in `metadata-ingestion/src/datahub/ingestion/source/tableau_common.py` | ||
|
||
- [Workbook](#Workbook) | ||
- [Dashboard](#Dashboard) | ||
- [Sheet](#Sheet) | ||
- [Embedded Data source](#Embedded-Data-Source) | ||
- [Published Data source](#Published-Data-Source) | ||
- [Custom SQL Data source](#Custom-SQL-Data-Source) | ||
|
||
### Dashboard | ||
Dashboards from Tableau are ingested as Dashboard in datahub. <br/> | ||
|
||
### Workbook | ||
Workbooks from Tableau are ingested as Container in datahub. <br/> | ||
- GraphQL query <br/> | ||
``` | ||
```graphql | ||
{ | ||
workbooksConnection(first: 15, offset: 0, filter: {projectNameWithin: ["default", "Project 2"]}) { | ||
nodes { | ||
id | ||
name | ||
luid | ||
uri | ||
projectName | ||
owner { | ||
username | ||
|
@@ -43,6 +45,24 @@ Dashboards from Tableau are ingested as Dashboard in datahub. <br/> | |
uri | ||
createdAt | ||
updatedAt | ||
} | ||
pageInfo { | ||
hasNextPage | ||
endCursor | ||
} | ||
totalCount | ||
} | ||
} | ||
``` | ||
|
||
### Dashboard | ||
Dashboards from Tableau are ingested as Dashboard in datahub. <br/> | ||
- GraphQL query <br/> | ||
```graphql | ||
{ | ||
workbooksConnection(first: 15, offset: 0, filter: {projectNameWithin: ["default", "Project 2"]}) { | ||
nodes { | ||
..... | ||
dashboards { | ||
id | ||
name | ||
|
@@ -68,7 +88,7 @@ Dashboards from Tableau are ingested as Dashboard in datahub. <br/> | |
### Sheet | ||
Sheets from Tableau are ingested as charts in datahub. <br/> | ||
- GraphQL query <br/> | ||
``` | ||
```graphql | ||
{ | ||
workbooksConnection(first: 10, offset: 0, filter: {projectNameWithin: ["default"]}) { | ||
..... | ||
|
@@ -150,7 +170,7 @@ Sheets from Tableau are ingested as charts in datahub. <br/> | |
Embedded Data source from Tableau is ingested as a Dataset in datahub. | ||
|
||
- GraphQL query <br/> | ||
``` | ||
```graphql | ||
{ | ||
workbooksConnection(first: 15, offset: 0, filter: {projectNameWithin: ["default"]}) { | ||
nodes { | ||
|
@@ -229,7 +249,7 @@ Embedded Data source from Tableau is ingested as a Dataset in datahub. | |
Published Data source from Tableau is ingested as a Dataset in datahub. | ||
|
||
- GraphQL query <br/> | ||
``` | ||
```graphql | ||
{ | ||
publishedDatasourcesConnection(filter: {idWithin: ["00cce29f-b561-bb41-3557-8e19660bb5dd", "618c87db-5959-338b-bcc7-6f5f4cc0b6c6"]}) { | ||
nodes { | ||
|
@@ -307,7 +327,7 @@ Published Data source from Tableau is ingested as a Dataset in datahub. | |
### Custom SQL Data Source | ||
For custom sql data sources, the query is viewable in UI under View Definition tab. <br/> | ||
- GraphQL query <br/> | ||
``` | ||
```graphql | ||
{ | ||
customSQLTablesConnection(filter: {idWithin: ["22b0b4c3-6b85-713d-a161-5a87fdd78f40"]}) { | ||
nodes { | ||
|
@@ -377,9 +397,7 @@ source: | |
# Credentials | ||
username: [email protected] | ||
password: pass | ||
token_name: Acryl | ||
token_value: token_generated_from_tableau | ||
|
||
|
||
# Options | ||
ingest_tags: True | ||
ingest_owner: True | ||
|
@@ -396,31 +414,31 @@ sink: | |
| Field | Required | Default | Description | | ||
|-----------------------|----------|-----------|--------------------------------------------------------------------------| | ||
| `connect_uri` | ✅ | | Tableau host URL. | | ||
| `site` | ✅ | | Tableau Online Site | | ||
| `site` | | `""` | Tableau Site. Always required for Tableau Online. Use emptystring "" to connect with Default site on Tableau Server. | | ||
| `env` | | `"PROD"` | Environment to use in namespace when constructing URNs. | | ||
| `username` | | | Tableau user name. | | ||
| `password` | | | Tableau password for authentication. | | ||
| `token_name` | | | Tableau token name if authenticating using a personal token. | | ||
| `token_value` | | | Tableau token value if authenticating using a personal token. | | ||
| `username` | | | Tableau username, must be set if authenticating using username/password. | | ||
| `password` | | | Tableau password, must be set if authenticating using username/password. | | ||
| `token_name` | | | Tableau token name, must be set if authenticating using a personal access token. | | ||
| `token_value` | | | Tableau token value, must be set if authenticating using a personal access token. | | ||
| `projects` | | `default` | List of projects | | ||
| `workbooks_page_size` | | 10 | Number of workbooks to query at a time using Tableau api. | | ||
| `default_schema_map`* | | | Default schema to use when schema is not found. | | ||
| `ingest_tags` | | `False` | Ingest Tags from source. This will override Tags entered from UI | | ||
| `ingest_owners` | | `False` | Ingest Owner from source. This will override Owner info entered from UI | | ||
|
||
|
||
*Tableau may not provide schema name when ingesting Custom SQL data source. Use `default_schema_map` to provide a default | ||
schema name to use when constructing a table URN. | ||
|
||
|
||
### Authentication | ||
|
||
Currently, authentication is supported on Tableau Online using username and password | ||
Currently, authentication is supported on Tableau using username and password | ||
and personal token. For more information on Tableau authentication, refer to [How to Authenticate](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_auth.html) guide. | ||
|
||
|
||
## Compatibility | ||
|
||
Tableau Server Version: 2021.4.0 (20214.22.0114.0959) 64-bit Linux <br/> | ||
Tableau Pod: prod-ca-a | ||
Tableau Server Version: 2021.4.0 (20214.22.0114.0959) 64-bit Linux | ||
|
||
|
||
## Questions | ||
|
Oops, something went wrong.