Skip to main content
The Self-Service Analytics Snowflake connector lets you access the data available in Snowflake storage using the Self-Service Analytics client. The Self-Service Analytics Snowflake connector supports whatever Snowflake version is currently available in the cloud. Before you can establish a connection from Self-Service Analytics to Snowflake storage, a connector server needs to be installed and configured. See Manage Connectors and Connector Servers for general instructions and Connect to Snowflake for details specific to the Snowflake connector. After setting up the connector, create data sources that specify the necessary connection information and identify the data you want to use. See Create and Manage Data Sources for more information. After you set up your data sources, create dashboards, self service reports, and visuals from the data in these data sources.

Feature Support

Connector support for specific features is shown in the following table. Key: Y - Supported; N - Not Supported; N/A - not applicable

Connect to Snowflake

The version 3.23.2 JDBC driver is included with the Snowflake connector, but you can download a newer version from https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/. See Add a JDBC Driver. When setting up a connection to Snowflake, you need to provide the following:
  • The name of the connection
  • The JDBC URL.
  • Each Snowflake connection must be associated with a database. It may be the database specified in the JDBC URL or the default data base of the connecting user (when no database is specified in the JDBC URL).
  • The username and password. Only simple username and password authentication is supported.
Snowflake officially supports each of its client versions for a minimum of two years: https://docs.snowflake.net/manuals/release-notes/requirements.html#support-policy. If the JDBC driver is not updated for two years, the Snowflake connector may stop working. Self-Service Analytics regularly updates the JDBC driver, however if you do not update your Snowflake connector for a long time, you may encounter problems. If this happens, you can manually update the JDBC driver yourself. Self-Service Analytics provides it in /opt/zoomdata/lib/edc-snowflake for Linux, and <install-path>/lib/edc-snowflake for Windows environments.

Snowflake Time Field Conversion

The Self-Service Analytics Snowflake connector converts date-time fields with data types of TIMESTAMP_TZ (a Snowflake data type) to Coordinated Universal Time (UTC) format. The connector also sets the session timezone to UTC format, which means that all Snowflake fields that use the Snowflake local timezone data type TIMESTAMP_LTZ are also converted to UTC format.

Configure the Snowflake Clustering Depth Threshold

Snowflake does not have an index, but supports micro-partitions and clustering keys instead. It uses a clustering depth for a table column to indicate whether the clustering state of the column has improved or deteriorated as a result of data changes in the table. A value of 1.0 for the clustering depth indicates that the column is fully clustered. A higher clustering depth indicates that the Snowflake table is not optimally clustered. See Understanding Snowflake Table Structures. To define playability of date or numeric fields, the Self-Service Analytics Snowflake connector uses the relative clustering depth of these fields in relation to the total number of partitions in the table, computed as a percentage using the following formula:
If the relative clustering depth of a field is equal to or less than a set threshold value, it is considered to be playable. The default clustering depth threshold is 10%, but can be changed by changing the following Snowflake configuration property in the Snowflake properties file (edc-snowflake.properties):
See Connector Properties and Property Files. The clustering depth threshold allows Self-Service Analytics to enable playback and live mode for all fields that are optimally clustered and disable it for all fields that are not. Adjust the threshold value or recluster your Snowflake tables to better handle intermediate cases.

Connect to Snowflake Using OAuth

To create a Snowflake connection use one of the available authentication methods:
  • Basic authentication via username and password
  • OAuth 2.0
If connecting using basic authentication, provide:
  • The name of the connection.
  • The JDBC URL.
  • Each Snowflake connection you use must be associated with a database.
    • The database can be the one specified in the JDBC URL, or
    • The default database of the connecting user (if no database is specified in the JDBC URL).
  • The username and password. Only simple username and password authentication is supported.
For connecting via OAuth 2.0, fill in the specific parameters:
JDBC URL
OAuth 2.0 EnabledTRUE/FALSE
OAuth 2.0 Authorization URIObtain OAuth 2.0 connection parameters from your Snowflake instance for connection.
OAuth 2.0 Token URI
OAuth 2.0 Client Id
OAuth 2.0 Client Secret
Scheduled source refresh is not available when you use OAuth 2.0 authentication.
If you do not want to expose OAuth 2.0 connection options to your customers, disable OAuth-related connection parameters at the connector level as a member of the Supervisors group.