<!here> Hello, all! I just chatted with <@U02G25M...
# integrate-tableau-datahub
l
<!here> Hello, all! I just chatted with @powerful-vase-22055 - he’s officially kicking off Tableau design/development work this week! This is the 3rd most frequently requested feature within the community, so I’m super excited to get some movement! Here’s where we’re looking for your help over the next week: 1. Share your custom integration code for inspiration/reference - if you have a custom Tableau <> DataHub integration in your organization, it will be very helpful to learn how you approached it; @handsome-belgium-11927 I know you had an… interesting(?) experience here, so even hearing about lessons learned would be great! 2. Contribute to design/implementation requirements - we’d love your help understanding the core components/concepts within Tableau, what metadata is available for us to extract, how they all fit together, & how we can map it back to DataHub. a. We currently have 7 “concepts” listed & I added in a basic template of details we’re looking for; please feel free to add any concepts we missed! If you’re free to help with design/development over the next 1-2wks, please let me know in the thread & I’ll facilitate some working sessions. Looking forward for all of your input!!
🌯 1
🔥 3
🌮 2
e
I will review #2 and offer any input I may have. I have implemented a Python script that crawls a Tableau online site and builds a set of csvs that are then imported into excel that give a tabular view of workbooks, projects, views, and users. We use it as a makeshift data dictionary for large tableau viz projects
My script interacts with the Tableau REST API and it appears the GraphQL is the desired interface, so I may not be as much help as I hoped I'd be
h
I'm using tableauserverclient python library to get data from Tableau - getting list of users, workbooks, datasources, downloading XML's and parsing them to get the information and sql code from them. I guess everybody is trying to make this integration via GraphQL, I didn't have time yet to try it, though at first glance I could not find the workbook's sql code to create lineages. If the current work is all about GraphQL, I guess I won't be able to provide any help
e
I have begun adding information about the various tableau components to the G Doc
an odd piece that's not lining up is workbook. The workbook is analogous to a 'file'. it can contain sheets, data connections, dashboards and views. It's also analogous to a 'project', so each workbook might represent a set of dashboards for a specific business unit or topic
the plot thickens 1
c
my experience
teamwork 3
e
@colossal-easter-99672 very nice! that's a HUGE head start! @little-megabyte-1074 @powerful-vase-22055 @rapid-shampoo-38730
p
Thank you @colossal-easter-99672. Great work
q
@colossal-easter-99672 Thats great!! Looks like this is what your
tableau asset(datahub entity)
mapping was
Copy code
workbooks(chart), dashboards(dataset), sheets(dataset)
We did ours a little differently. Happy to share the implementation details as well. There’s some organizational context that I need to remove
Copy code
workbooks(Dashboards), dashboards(charts), sheets(dataset)
c
@quiet-kilobyte-82304 hi. Full mapping
Copy code
workbooks(chart), dashboards(dataset), sheets(dataset), datasources(dataset), custom_sql(dataset)
Sheet can exist in workbook without dashboard. i didn't find dashboard -> dataset relation, that's why i am not using your mapping
Copy code
workbooks(Dashboards), dashboards(charts), sheets(dataset)
r
Hi...I have started adding my inputs with a '<Anand Govindarajan>' tag into the google doc...I have few more to add but wanted to check if that was ok to directly edit the doc and then proceed...
p
Hi @rapid-shampoo-38730 please feel free to modify directly if you like.
plus1 1
r
Sure edited and added few more points; I think the key is to decide if we are planning to use the graphql based metadata api or the plain rest apis of Tableau...there are also options to parse the TWB file and query the Tableau repository too..depends on how far we want to go to get the metadata in the initial iterations...
p
Thanks Anand. I'm going for graphql since we don't really need to modify any info which is what rest api would be useful for. Nikita also went for graphql based approach and it is a very comprehensive solution imo. I like the idea of parsing TWB file but we can attempt this as an enhancement after we have a initial connector ready for the community.
s
there is
tableauserverclient
as pythonish wrapper for restApi we are using it for automation however it is full of metadata stuff to use
AFAIK dashboard in tableau - is as “puzzle” of worksheets(aka charts) which are render data from datasets (customsql / semantic model)
there is another kind of stuff in Tableau - is a
Flow
(generated by Tableau Prep) it is a visual-driven stuff to define dataflows/pipelines (more like ETL constructor )
g
Hi all, I’m new to the DataHub community but wanted to give you all a shoutout for working on the Tableau integration. It looks super promising, and would be very helpful for a project I’m working on with a community college. I don’t have the chops to be all that useful with the coding itself, but what I am happy to offer is expertise on Tableau if it would be of any help. I’ve been using Tableau since about 2007 (V3.0 for those who remember) and have seen many innovations since. If it’s still useful, happy to chat about shared versus embedded data sources, flows, extracts, worksheets, dashboards, etc., and how they all relate. Also happy to test out your early releases of the integration.
teamwork 1
l
We’re so happy to have you here, @gorgeous-sundown-34397! We will definitely be looking for feedback about usability from the community - stay tuned!
thank you 1
q
If my understand is correct, need license of Data Management Add-on for using metadata API. Will you support licensed environment first?
1
c
you don't need Add-on to use metadata API
q
thank you. I misunderstood about add-on.