You are viewing the RapidMiner Hub documentation for version 10.0 - Check here for latest version
Tableau connector
This document provides setup documentation for the Tableau Connector (TabGo).
For a user guide, read about Tableau dashboards.
The Tableau Analytics Extension API makes it possible to integrate RapidMiner Go models and RapidMiner web services/Scoring Agent deployments into Tableau dashboards. The same API is used by Tableau’s own TabPy for Python integration.
In what follows, RapidMiner's implementation of the API will be called TabGo. TabGo is an optional module for RapidMiner AI Hub, acting as a translation layer between Tableau and RapidMiner. By itself, TabGo does not execute prediction logic or run any analyses.
The setup documentation provided below consists of two parts:
Note that by default, TabGo is not included in the docker-compose template for RapidMiner AI Hub. If TabGo is already installed (and tested!), you can skip ahead to step 2.
Install the connector on RapidMiner AI Hub
The following instructions assume that you are using a docker-compose based installation of RapidMiner AI Hub. The configuration differs slightly depending on whether RapidMiner AI Hub is configured to use HTTPS or HTTP.
However, the environment variables are always the same. In both scenarios you will have to add the following block to your .env file:
# ############################################
#
# TabGo
#
# ############################################
# Used for both TabGo and the TabGo proxy.
TABGO_VERSION=9.9
# Proxy specific settings.
TABGO_PROXY_PORT=4443
TABGO_BACKEND=http://rm-tabgo-svc
# Settings for the TabGo service.
TABGO_MAX_MEMORY=384m
TABGO_PORT=8090
# Rate limit for small requests (e.g., scoring a single data row). The default
# values limit the rate to 10 requests per 5 seconds.
TABGO_SMALL_REQUEST_LIMIT=10
TABGO_SMALL_REQUEST_INTERVAL=5
# Change the log level to DEBUG to log HTTP traffic routed through TabGo.
TABGO_LOG_LEVEL=INFO
# Additional Java options should only be used for debugging.
TABGO_JAVA_OPTIONS=
There are two settings that you might want to adjust:
- If you expect TabGo to process large data sets, e.g., tables with tens of thousands of rows,
or you expect many users in parallel, you should consider increasing
TABGO_MAX_MEMORY
. - If you expect many TabGo users in parallel, you may consider increasing the
TABGO_SMALL_REQUEST_LIMIT
variable. However, this limit exists for a good reason: without the limit, misconfigured dashboards may send hundreds of small requests, slowing Tableau to the point where the software becomes unresponsive. The offending behavior is usually caused by table calculations being computed line by line instead of in a single batch. For more details, see the Compute Using option for table calculations.
Please note that TABGO_LOG_LEVEL
is only meant to be changed temporarily for troubleshooting.
Changing it to DEBUG
will impact TabGo’s performance and might leak sensitive information.
HTTPS configuration
If RapidMiner AI Hub is configured to use HTTPS, TabGo can pick up the existing configuration to secure the communication with Tableau. Adding the following two services to your docker-compose.yml file will configure TabGo to use the same certificate as the other RapidMiner AI Hub components:
rm-tabgo-svc:
image: ${REGISTRY}rapidminer-tabgo:${TABGO_VERSION}
restart: always
hostname: rm-tabgo-svc
environment:
- TABGO_MAX_MEMORY=${TABGO_MAX_MEMORY}
- TABGO_RMS_HOSTNAME=${RAPIDMINER_SERVER_URL}
- TABGO_GO_HOSTNAME=${PUBLIC_URL}
- TABGO_SMALL_REQUEST_LIMIT=${TABGO_SMALL_REQUEST_LIMIT}
- TABGO_SMALL_REQUEST_INTERVAL=${TABGO_SMALL_REQUEST_INTERVAL}
- TABGO_LOG_LEVEL=${TABGO_LOG_LEVEL}
- _JAVA_OPTIONS=${TABGO_JAVA_OPTIONS}
networks:
rm-platform-int-net:
aliases:
- rm-tabgo-svc
rm-tabgo-proxy-svc:
image: ${REGISTRY}rapidminer-tabgo-proxy:${TABGO_VERSION}
hostname: rm-tabgo-proxy-svc
restart: always
environment:
- HTTPS_CRT_PATH=${HTTPS_CRT_PATH}
- HTTPS_KEY_PATH=${HTTPS_KEY_PATH}
- TABGO_BACKEND=${TABGO_BACKEND}
- TABGO_PORT=${TABGO_PORT}
ports:
- ${TABGO_PROXY_PORT}:443
depends_on:
- rm-proxy-svc
volumes:
- ./ssl:/etc/nginx/ssl
networks:
rm-platform-int-net:
aliases:
- rm-tabgo-proxy-svc
After starting the new services, TabGo will listen on the TABGO_PROXY_PORT
specified in the .env
file.
HTTP configuration
If your RapidMiner AI Hub is configured to use HTTP, adding the following service to your docker-compose.yml file will enable TabGo:
rm-tabgo-svc:
image: ${REGISTRY}rapidminer-tabgo:${TABGO_VERSION}
restart: always
hostname: rm-tabgo-svc
ports:
${TABGO_PORT}:${TABGO_PORT}
environment:
- TABGO_MAX_MEMORY=${TABGO_MAX_MEMORY}
- TABGO_RMS_HOSTNAME=${RAPIDMINER_SERVER_URL}
- TABGO_GO_HOSTNAME=${PUBLIC_URL}
- TABGO_SMALL_REQUEST_LIMIT=${TABGO_SMALL_REQUEST_LIMIT}
- TABGO_SMALL_REQUEST_INTERVAL=${TABGO_SMALL_REQUEST_INTERVAL}
- TABGO_LOG_LEVEL=${TABGO_LOG_LEVEL}
- _JAVA_OPTIONS=${TABGO_JAVA_OPTIONS}
networks:
rm-platform-int-net:
aliases:
- rm-tabgo-svc
After starting the new service, TabGo will listen on the TABGO_PORT
specified in the .env
file.
Test the deployment
TabGo provides a simple /info
endpoint that you can call from any web browser.
If the location of your RapidMiner AI Hub deployment is as indicated in the first column
of the table below, the /info
endpoint will be as indicated in the second column.
RapidMiner AI Hub | /info endpoint |
|
---|---|---|
HTTPS | https://aihub.company.test/ | https://aihub.company.test:4443/info |
HTTP | http://aihub.company.test/ | http://aihub.company.test:8090/info |
In both cases the endpoint should answer with a message in the following format:
{
"name": "TabGo",
"description": "Tableau analytics connector to RapidMiner Go",
"creation_time": 1602592657,
"server_version": "9.9.0",
"versions": {
"v1": {
"features": {}
}
}
}
Connect Tableau to RapidMiner AI Hub
TabGo can be used together with Tableau Desktop and Tableau Server. All you need to provide is the endpoint on which TabGo is reachable.
Tableau Desktop
Within Tableau Desktop, configure an Analytics Extension Connection to TabGo under Help > Settings and Performance > Manage Analytics Extension Connection…
- Server - use the hostname for RapidMiner AI Hub
- Port - use the port provided by TabGo (by default 4443 for HTTPS / 8090 for HTTP)
- Require SSL - check this box if you are using HTTPS
Click Test Connection to verify that Tableau Desktop is connected to TabGo:
Tableau Server
On Tableau Server, log in as administrator for the site where you want to enable the analytics connection.
- Open the settings and navigate to the Extensions tab.
- Under Analytics Extensions, check Enable analytics extension for site.
- As described above for Tableau Desktop, enter the connection details for RapidMiner AI Hub.
Unfortunately, you cannot test the connection from within the Tableau Server settings. You will have to create a Tableau dashboard using TabGo to verify your configuration.
Once you have created the Analytics Extension Connection, it is listed in settings as follows: