Introduction
This guide explains how to connect KNIME Analytics Platform with Tableau®. There are a few methods you can use to do this, and the text below describes these methods in further detail, while walking through an example KNIME workflow.
Installation
Installing the Tableau Extensions
Navigate to File → Install KNIME Extensions and type "Tableau" in the search box that appears. When you do, you will see something like the screen below.
Install the extension KNIME Tableau Integration.
The Tableau integration uses the "Tableau Hyper API" which uses the .hyper format.
If you want to use the .tde format for a Tableau Server 10.4 or earlier you can install and setup the legacy extension as described in the Legacy Extensions section.
Additional information on the differences between the TDE and .hyper formats, along with the changes implemented in Tableau 10.5, can be found on the Tableau website.
|
Once you have installed the extension(s), restart KNIME Analytics Platform and you should see the Tableau nodes in the node repository under KNIME Labs. You can now drag and drop the Tableau nodes into your workflow and use them to export data.
Tableau Online Setup
For the purpose of this guide, we will assume that you want to publish data
to Tableau Online
. However, most of what is discussed here also applies if you
host your own Tableau server. If you do not already have a Tableau Online
account, you can create a
trial account. For the steps that
follow, you will need a few pieces of information:
-
The URL of your Tableau server.
In your KNIME workflows, you must use the redirected specific URL — for example
https://us-west-2b.online.tableau.com
— and not the general URLhttps://online.tableau.com
.Also, take particular care to use the secure
https
-protocol. -
Your username
-
Your password
-
Your Tableau site ID. For Tableau Online, this can be observed within the URL itself. Given the URL
https://us-west-2b.online.tableau.com/#/site/ExampleSite/projects
, the site ID isExampleSite
.
You will also need to have a Tableau Project already in place on the server. By default, Tableau Online creates a default project for you, but it is a good idea to create one and give it an appropriate name. You can do this in Tableau Online by navigating to the projects section and clicking on the New Projects button. The project we will create for this guide is called "Adult Income".
Tableau Usage Example
Example workflow
To get started, download the Tableau Integration Example workflow from the
EXAMPLES server. The workflow and associated dataset is available at
EXAMPLES/05_Reporting/02_Tableau/01_Tableau_Integration_Example
. Go ahead and
execute the five nodes listed in the "Usual Modeling Steps" section. This is a
workflow that reads in a file containing demographic and income information for
a sample of adults working in the United States, and uses the decision tree node
to predict and score income classification for the sample. Of more interest to
us, the workflow also exports both the raw data and results of the decision tree
model using Tableau nodes in a few different ways, which we will discuss in more
detail below.
The nodes in the workflow can be easily swapped with the legacy nodes for compatibility with older versions of Tableau. |
Tableau Writer node
Now that our Tableau Online account is in place and KNIME Analytics Platform has
been configured, use the Tableau Writer node to export a .hyper
file. Double click the node assigned to write out model scoring statistics to
open its settings. The only thing we need to do here is to give a path and file
name for the file:
Now, we can execute the node, and a .hyper
file is created. Files of this type
can be imported into Tableau Desktop for further analysis, and from there,
published to Tableau Server. .hyper
files can also be published directly to a
Tableau server by using Tableau’s command line utility tabcmd
. We will discuss
each of these methods below.
Publishing .hyper files
.hyper
files exported from KNIME Analytics Platform can be used directly with a installation
of Tableau Desktop. Double clicking on the .hyper
file will open the Tableau
interface where you can begin construction of visualizations on the data right
away. You can also publish the .hyper
file for use in the Tableau Online
environment via the desktop GUI. To do this, navigate to
Server → Publish Data Source, assign a Project in the resulting dialog, and
click Publish. This will make the data from the .hyper
file available in the
Tableau Online Environment.
Publishing .hyper
files can also be done without a GUI, using
Tableau’s command line utility tabcmd
,
which requires a separate installation, as detailed on the linked page). tabcmd
allows for scripting of data management tasks in the server environment, and has a
straightforward set of options and parameters. Logging into a Tableau server,
for example, can be accomplished with the following command:
tabcmd login -s https://online.tableau.com -u YourUsername -p YourPassword
Publishing a .hyper
file to the server can then be done as follows.
Use our generated .hyper
file as an example, making sure to include the full path and
project name on the server:
tabcmd publish "c:\path\to\file\Scorestats.hyper" -r "Adult Income"
The figure below presents the results of using tabcmd
to publish a .hyper
file
using these commands. The tabcmd
documentation, linked above, presents a more
comprehensive list of available commands and options.
Send to Tableau Server node
Perhaps you would like to skip the creation of .hyper
files altogether, and
instead send your data directly to Tableau Online
from a KNIME workflow.
This can be done using the Send to Tableau Server node. For this example,
we send the raw Adult dataset to our Tableau Online server for additional
visualization.
Double click the node to bring up the configuration dialog, and
enter the required information under the Tableau Server Settings tab. Use the
Browse button to have the node query the Tableau server for active projects.
Here, we will be sending our file to the Adult Income project, and giving it a
name of AdultRaw
. Carefully note the format of the URL!
If we navigate to our project space in Tableau Online, we can now see three available data sources:
-
Scorestats Extract, published via Tableau Desktop
-
Scorestats, published via the command line using tabcmd
-
AdultRaw, published directly from a KNIME workflow
Creating a Visualization in Tableau Online
Once your data has been published to Tableau, you are free to create your visualizations in the usual way. Here are a couple of examples generated from the Adult dataset.The first presents a map of average ages for adults in the data set, by country of origin. The second is a stacked bar chart that shows, in descending order, the total hours adults worked, by gender, in each country.
Legacy Extensions
To keep support for old versions of Tableau the legacy KNIME Tableau integrations are still available. This section describes how they can be installed.
Installing the Legacy Tableau Extensions
Navigate to File → Install KNIME Extensions and type "Tableau" in the search box that appears and deselect the checkbox "Group items by category". When you do, you will see something like the screen below.
If you have Tableau 10.5 or later, you can use the .hyper
format, which is
created using the Tableau Data Extract API 2.0. Versions 10.4 and earlier use
the older TDE
format, which is created using the Tableau SDK. Select the
extensions to install according to what you need. If you are not sure, you can
install both, and tell KNIME which format you want to use later. The two
extensions labeled KNIME Tableau Integration include the KNIME nodes, while
the other extensions labeled Platform Specific Packages include the back-end
support files - specifically, the Extract API or SDK files.
Once you have installed the extension(s), restart KNIME Analytics Platform and
you should see the legacy Tableau nodes in the node repository under KNIME Labs.
You can identify the legacy nodes by the suffix "(Hyper)" or "(TDE)".
You can now drag and drop the Tableau nodes into your workflow, but you will need
to perform some additional one-time setup on your system PATH
before they will
export data properly.
Installation Setup
Selecting Hyper or TDE
Go to File → Preferences → KNIME and find the Tableau page. Here, you can
select whether to use the current .hyper
format or the older TDE
format. Changing
this setting requires a restart of KNIME Analytics Platform.
Updating your System PATH (Windows)
You will need to add the string in the text box to your system’s PATH
.
If you are not sure how to
do this, click on the blue Instructions link to open a page that describes
the process in more detail. You can click the Copy to Clipboard button to
assist in this process. Once you have updated your system’s PATH
to include
either the Tableau Extract API 2.0 (for Hyper) and/or the Tableau SDK (for TDE
),
restart KNIME Analytics Platform.
Some Windows users may also need to install the Visual C++ 2013 redistributable, but many Windows 10 installations already include it. A link to the redistributable is provided if you do need it. |
Installing the native library (Mac OS)
Use the buttons "Open source folder" and "Open target folder" to open the folder with the library files and the folder with the installation target, respectively. Copy the files from the source folder to the target folder to install the Tableau library on your system.
Troubleshooting
"Hyper Server did not call back on the callback port"
The error "Hyper Server did not call back on the callback port: process = -1" can appear randomly using a correctly configured setup with the "Tableau Extract API 2.0 (Hyper)".
This issue is related to the use of the "Tableau Extract API 2.0" and can be solved by using the new KNIME extension which makes use of the "Tableau Hyper API". Install the KNIME extension "KNIME Tableau Integration" as described in the Installation section and use the nodes "Send to Tableau Server" and "Tableau Writer".
This extension will be the default Tableau integration for the upcoming KNIME release.