Unable to Expand Databricks Data Source in Information Designer via Spotfire installed client

Unable to Expand Databricks Data Source in Information Designer via Spotfire installed client

book

Article ID: KB0138510

calendar_today

Updated On:

Products Versions
Spotfire Server 11.4.8 and higher

Description

The issue manifests when a Databricks JDBC data source is configured in Spotfire, and users attempt to expand it within the Information Designer. The following error message appears:
RPC ListTableSummaries Field managedcatalog.ListTableSummaries.catalog_name: name "" is not a valid name. Valid names must contain only alphanumeric characters and underscores, and cannot contain spaces, periods, forward slashes, or control characters.

This error indicates that Databricks has changed its behavior, no longer permitting an empty catalog name when the getTables() method is invoked by the JDBC driver. Historically, the JDBC standard allowed getTables() to be called without providing a schema. Spotfire's Information Services initially relied on getTables() for schema retrieval. While a getSchemas() method was later introduced in JDBC, Spotfire maintained the default use of getTables() for backward compatibility and to avoid breaking existing customer configurations. Support for getSchemas() was implemented in Information Services but was set to false by default to prevent unintended changes for existing users.

Environment

All

Resolution

To resolve this issue, enable the use-get-schemas parameter in the Databricks data source template. This instructs Spotfire to use the getSchemas() method instead of getTables() for retrieving schema information, which is compatible with the updated Databricks behavior.

  • Locate the Databricks data source template on your Spotfire Server Configuration Tool. You can open Configuration tool via command line or from the Windows start menu.
  • Within the Configuration Tool edit the XML for the Databricks data source template. Add or modify the <use-get-schemas> parameter within the '<jdbc-type-settings>' section, setting its value to true.
    • Example: <use-get-schemas>true</use-get-schemas>
  • At the bottom of the page, click Save configuration to save the changes.
  • Restart the Spotfire server services for the changes to take effect.
  • Launch Spotfire installed client, re-save existing data source or create a new.
  • Attempt to expand the data source in Information Designer. It should now expand successfully, displaying the catalogs/schemas and tables.

Note: use-get-schemas xml setting was introduced from 11.4.8 Spotfire server version onward. 

Issue/Introduction

When attempting to expand a Databricks JDBC data source in Spotfire Information Designer, users encounter following error message:

RPC ListTableSummaries Field managedcatalog.ListTableSummaries.catalog_name: name "" is not a valid name. Valid names must contain only alphanumeric characters and underscores, and cannot contain spaces, periods, forward slashes, or control characters.

Note: The behavior is observed while using driver version 3.x and later which is a Databricks branded driver.

Additional Information

Doc: XML settings for data source templates