Develop a Tableau Component for Talend Studio
So far it was only possible to publish data from Talend Data Integration to Tableau Server indirectly. In this blog post we present a custom Talend Component, that enables Talend to publish data directly to Tableau Server without any detours.
Business Use Case
A company does not want to give all employees direct access to a SAP Hana database, due to performance considerations. For this reason, extracts from the Hana data are created using the data integration tool Talend. For analysis of these extracts with the visualization tool Tableau, these extracts first need to be stored in a separate location. Then they are uploaded to Tableau Server or to the Cloud (Tableau Online) using Tableau Desktop. This process is rather cumbersome and time consuming. With a custom developed Talend component, that allows data to be published directly to Tableau Server, we are able to offer companies a more effective solution.
The Talend Component Kit
Basis for the development of the component is the Talend Component Kit on Talend 7. This scalable component development framework has a rich set of predefined classes, methods, and capabilities. This facilitates the deployment of the component in Talend products. The framework is required to develop components that perform best in different Talend tools.
Tableau HyperExtract and Rest API
To dramatically reduce query and data extract time, we use Tableau's HyperExtract API. The data flow in Talend is extracted to the hyper format. All common data types (schemas) are supported - no matter if string, integer or date.
Uploading is done using the Tableau REST API. We use the multipart upload option, in which we send the file to the server in pieces. The upload process is divided in initiating the file upload, uploading the file in small parts and finishing the upload. An advantage of the multipart upload is that files larger than 64 MB can be published. It is also possible to attach data blocks to already uploaded data.
How the Component Works
The company from the example described can load the extracts with the Tableau component directly from Talend to the server. This enables employees to analyze the data without direct access to the SAP Hana database.
Figure 1: Talend-Job with a Tableau component
Figure 1 shows another example. Two different data sources should be joined. One of them contains information about flight routes, such as departure and arrival airports. The other one includes information about airports, such as latitude and longitude. By joining the two tables, start and end positions can be identified for each route.
The tMap component links the data together. Two joins must be made to generate geo information for the departure airport and geo information for the destination airport in one line. The tMap component is linked to the tTableau component. The Tableau instance credentials, the server page and project must be specified to upload the data in the correct location. Optionally, the created extract can also be stored locally. Running the job loads the data to the Tableau server. The hyper-format data source can now be used directly on the server for analysis and visualization (Figure 2).
Figure 2: Visualization with Tableau
The Tableau component for Talend Studio saves time, effort and costs. Data prepared in Talend can be published directly in hyper-format to Tableau Server or Tableau Online. Even very large Hyper Extracts can be published. No Tableau Desktop version is needed anymore, just access to Tableau Online or Server.
More information about the Tableau component for Talend can be found at the component website at :
About the authors
The authors David and Torben both work as BI consultants and software developers at cimt ag. Cimt ag has been the only Talend SI Platinum Partner in the DACH and Benelux region for more than 10 years and works with more than 200 consultants on your challenges in the BI world and beyond. This component was created on the basis of the partnerships of cimt ag with Talend and Tableau, for which cimt is also a service provider for you.