Tableau #

  • Tableau data connector: For Tableau products, the recommended connection method uses a Tableau data connector file paired with the Starburst JDBC driver.

  • Legacy JDBC connection: For Tableau Desktop and Prep Builder, Starburst continues to support the legacy connection method that uses a plain JDBC connection and the “Other Databases (JDBC)” entry point.

    However, Starburst strongly recommends migrating from this legacy method to the Tableau data connector method.

  • ODBC connection: For Tableau Desktop and Prep Builder, Starburst also supports connecting to clusters with the Starburst ODBC driver.

Before you begin #

  1. Determine the connection information for your cluster, including its network name, listening port (or default port), and your login credentials.

  2. For Starburst Galaxy clusters, use the Connection info pane to obtain the connection information.

  3. Instructions to connect Tableau products to SEP clusters vary slightly, depending on the SEP version and on the Tableau product version.

Tableau data connector with JDBC driver #

You can connect recent releases of Tableau products to recent clusters with a combination of a Tableau data connector file and JDBC driver. This method requires:

  • Starburst Galaxy or SEP 354-e or later
  • Tableau Desktop, Prep Builder, or Server 2020.4 or later
  • Trino JDBC driver 386 or later

Note that a Tableau data connector is not the same as a data source connector in SEP. The Tableau data connector is a software bridge between Tableau and the standard Starburst JDBC driver. The two files work together to enable read-only access between Tableau and one or more SEP or Starburst Galaxy clusters. The Tableau data connector is a JAR file with name similar to StarburstEnterprise.taco.

The procedure to install and use the Tableau data connector depends on your Tableau product and version:

  • For Tableau products with version 2021.2.0 and later, the Tableau data connector is included. This allows you to select the Starburst Enterprise option directly from a Tableau menu following the standard data connector procedure.

  • For Tableau products 2020.4 to 2021.1, you must first download the data connector file yourself, as described in download data connector.

Standard data connector procedure #

For Tableau products 2021.2.0 or later, follow these steps:

  1. If the Tableau product is open, close it and exit.

  2. Download the latest Starburst JDBC driver.

  3. Place the JDBC driver file in the Tableau drivers directory:

    Windows (for Tableau Desktop, Prep Builder, and Server)
    C:\Program Files\Tableau\Drivers
    macOS (Tableau Server not supported)
    /Users/username/Library/Tableau/Drivers
    Linux (Tableau Server only)
    /opt/tableau/tableau_driver/jdbc

    Do not store more than one Starburst JDBC driver in this directory. Delete any older drivers when you update to a newer version. Connections to all connected data sources are made through the JDBC driver.

  4. Start the Tableau product. Then:

    Desktop
    In the left column, under To a Server, click More.
    Prep Builder
    In the left-side blue panel, click to expose the Connections pane, then click the plus + sign to add a new connection.
    Server
    Log in to the server. Click Create, then select Workbook. In the Connect to Data pane, click the Connectors tab.
  5. In the list of server types, select Starburst Enterprise by Starburst. This opens a Connector Details dialog that describes the data connector.

  6. Click Install. This opens a connection dialog:

      Tableau Connector login dialog

  7. Fill in the connection dialog with the following parameters:

    Field Value
    Server Hostname or IP address of your cluster.
    Port Port used by your cluster.
    Authentication Use the drop-down list to select among three options: Username for a cluster with no authentication, Username and Password for a cluster with TLS enabled and a password-based authentication method such as LDAP, or Kerberos.
    Username Your username for SEP or Starburst Galaxy.
    Password (If selected) the password for the specified Username.
    Require SSL Select this check box if your cluster has TLS enabled. When selected, the following field appears.
    SSL Verification Select an entry in the drop-down list to specify how rigorously the server’s certificate is to be validated.

    If you select Kerberos in the Authentication drop-down, see Kerberos authentication.

    The values for SSL Verification have the following meanings:

    FULL
    Confirm that the certificate's validity is chained all the way back to a root Certificate Authority (CA).
    CA
    Confirm that the certificate is valid as far back as the included intermediate CA.
    NONE
    Confirm that the server's certificate matches the DNS name and private key of the server.
  8. When the connection is made, the Connections panel shows a list of the catalogs (data sources) configured in your cluster.

      Tableau Connector list of catalogs

  9. To see the available tables, select a catalog, then a schema from that catalog.

      Tableau list of tables

Configure an initial SQL query #

When using the Starburst data connector, best practice is to take advantage of the Initial SQL panel of the initial connection dialog.

  Tableau Initial SQL tab

Use of this panel is not required to successfully connect Tableau to clusters, but using it makes troubleshooting connection issues much easier.

Provide an initial SQL statement that is known to be valid and is cluster independent, such as SHOW CATALOGS or SELECT version(). Do not close the statement with a semicolon (;).

With the initial SQL query in place, if any connection errors are encountered, the presence of the SQL statement allows Tableau to show an error dialog that helps you diagnose the exact cause of the problem. For example:

  Tableau Initial SQL connection error

Without an initial SQL statement, if there is a problem connecting to the cluster, Tableau can fail to show an error dialog. This can leave the connection in a state where it appears to be successful, yet fails to return any catalog or schema information. In these cases, Tableau looks OK, but is unresponsive.

See the Learn More link in the Tableau Initial SQL panel for information on the limitations of the feature.

Kerberos authentication #

After selecting Kerberos in the Authentication drop-down, additional connection options appear in the Connection dialog.

Tableau Connector login dialog with Kerberos authentication

The first four fields including Username are the same as described above. The Kerberos-specific fields are described in the following table:

Field Value
Kerberos Principal The Kerberos principal to use when authenticating to the SEP coordinator. If not set, the value is read from the keytab file.
Kerberos Remote Service Name SEP coordinator Kerberos service name. This parameter is required for Kerberos authentication.
Kerberos Service Principal Pattern SEP coordinator Kerberos service principal pattern. The default is ${SERVICE}@${HOST}. ${SERVICE} is replaced with the value of Kerberos Remote Service Name and ${HOST} is replaced with the hostname of the coordinator (after canonicalization, if enabled).
Kerberos configuration file path Local path to the Kerberos configuration file.
Kerberos keytab file path Local path to the Kerberos keytab file.

Use the same paths for the keytab and configuration file that are used after publishing a SEP data source to Tableau Server. If they are not specified, default locations are used.

To troubleshoot Kerberos:

  • Set the JAVA_TOOL_OPTIONS environment variable on the Tableau host to include:

     -Dsun.security.krb5.debug=true -Dtrino.client.debugKerberos=true \
     -Djava.security.debug=gssloginconfig,configfile,configparser,logincontext
    
  • Check the Tableau log files that have jprotocolserver in their name, located in the \data\tabsvc\logs\dataserver directory on the Tableau server.

For further information on configuring and troubleshooting Kerberos on Tableau products, see:

Customized JDBC connections #

If you need to set additional connection properties that are not included in Tableau’s connection dialog, customize the connection using a properties file.

For more information, see Customize JDBC Connections Using a Properties File in the Tableau Community and the list of available parameters for the JDBC driver.

Newer versions of the Tableau connector show a third tab, Advanced, in the Connector Details dialog. This tab has a single field. Extra JDBC properties, where you can enter one or more comma-separated key-value pairs of properties that are to be forwarded verbatim to the authentication system. This allows you to populate the extraCredentials property of the JDBC driver for authentication systems that need this parameter.

Tableau Connector login dialog showing Advanced tab

Starburst advantage #

Remember that Starburst Enterprise and Starburst Galaxy are not databases. They are SQL query engines that can connect to multiple data sources at the same time. Each cluster can query multiple catalogs in a wide range of different data sources.

Although Tableau products are typically configured to access one specific catalog and schema, it is possible to query more than one data source with a single Tableau connection.

To query multiple catalogs, select New Custom SQL in Tableau Desktop or Server, and then reference the fully-qualified name of any table in the cluster using the full catalog.schema.table syntax. Tableau Prep Builder does not provide a Custom SQL feature.

The following example query accesses four catalogs: postgresql, hive, mysql, and sqlserver.

SELECT c.custkey
  , c.state
  , c.estimated_income
  , cp.customer_segment
  , a.cc_number
  , pp.cc_type
  , a.mortgage_id
  , a.auto_loan_id
FROM postgresql.burst_bank.customer c
JOIN hive.burst_bank.account a on c.custkey = a.custkey
JOIN mysql.burst_bank.product_profile pp on a.custkey = pp.custkey
JOIN sqlserver.burst_bank.customer_profile cp on c.custkey = cp.custkey
WHERE c.country = 'US'
AND c.state NOT IN ('AA', 'AE', 'AP')

This approach is faster because all table access is managed by the cluster on the cluster, and takes advantage of Starburst query optimization features such as pushdown.

Tableau is also capable of joining data from multiple data sources, but this approach creates an unnecessary workload on Tableau, and can negatively impact Tableau performance.

Download data connector #

For Tableau products with versions 2020.4 through 2021.1, the Tableau data connector for Starburst Enterprise does not appear automatically in the list of Additional Connectors. To get Starburst Enterprise to appear in that list, either:

  • Upgrade your Tableau product to version 2021.2.0 or later, or

  • Prepare your Tableau product installation as described here before attempting to connect to a cluster.

Follow these steps to manually download the Tableau data connector for Starburst Enterprise:

  1. Close and exit the Tableau product.

  2. From the Starburst Enterprise page of Tableau’s web-based Extension Gallery, download the Tableau data connector file whose name is similar to StarburstEnterprise.taco. Use the Download button on the upper right of the page. This requires logging into Tableau’s site with a free login.

  3. Move the data connector file to:

    Windows
    C:\Users\username\Documents\My Tableau Repository\Connectors
    macOS
    /Users/username/Documents/My Tableau Repository/Connectors

    For Tableau Server on Windows or Linux, follow the instructions in the Tableau Server section of the Run Your Connector page provided by Tableau.

  4. Proceed from here to the standard data connector procedure.

Legacy JDBC driver connection #

Tableau Desktop and Prep Builder provide a generic connection method titled Other Databases (JDBC). Although Starburst strongly recommends using a Tableau data connector, this generic JDBC connection method is still available for these two products. Follow these steps:

  1. Download the latest JDBC driver version.

  2. Place the JDBC driver file in the Tableau drivers directory:

    Windows
    C:\Program Files\Tableau\Drivers
    macOS
    /Users/username/Library/Tableau/Drivers

    Do not store more than one Starburst JDBC driver in this directory. Delete any older drivers when you update to a newer version. Connections to all connected data sources are made through the Starburst JDBC driver.

  3. Start Tableau Desktop or Prep Builder and select Connect to a server using the Other Databases (JDBC) connector in Tableau.

  4. Fill in the connection dialog as shown in the following table. For the URL field, use a JDBC connection string in this format:

    jdbc:trino://cluster.example.com:8080/catalog?SSL=true
    

    The JDBC connection string must include the initial catalog to connect to. Once connected, you can select schemas and tables within that catalog, or select a different catalog.

    If your cluster has TLS enabled, append the property ?SSL=true to the connection string.

    Field Value
    URL Full JDBC connection string for your cluster. Must include a catalog name.
    Dialect Must be ‘SQL92’
    Username Your username
    Password Your password
    Properties File Specify or browse to the path of a JDBC properties file containing further specifications for this connection. See Customized JDBC Connections.

      Tableau Other Databases login dialog

ODBC driver connection #

Contact Starburst Support to obtain access to the Starburst ODBC driver for use with Tableau Desktop or Prep Builder (but not Tableau Server). The Presto ODBC driver provided by Tableau is not supported.

Open Tableau Desktop or Prep Builder and begin the ODBC configuration. On the Tableau products’s startup page, select Other Databases (ODBC), and configure as follows:

  • Driver: Starburst ODBC Driver
  • Username: <username>
  • String Extras: Driver=Starburst ODBC Driver;Catalog=<catalog>;Host=<host>;Port=<portDriver>;

The String Extras field supports any of the ODBC connection properties from the Starburst ODBC driver.

Select Sign In to establish the connection. If you are prompted for a password, this means the SEP server has authentication enabled.

The Tableau ODBC documentation contains further information.