Manage the Snowflake Connector
This applies to: Visual Data Discovery
The Symphony Snowflake connector lets you access the data available in Snowflake storage using the Symphony client. The Symphony Snowflake connector supports whatever Snowflake version is currently available in the cloud.
Before you can establish a connection from Symphony 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 Visual Data Discovery 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 Manage Visual Data Discovery Data Sources for more information. After data sources are configured, they can be used to create dashboards and visuals from your data. See Create Dashboards.
Feature Support
Connector support for specific features is shown in the following table.
Key: Y - Supported; N - Not Supported; N/A - not applicable
Feature | Supported? |
---|---|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
N/A |
|
Y |
|
Y |
|
Y |
|
Y |
|
Y |
|
N |
|
Y |
|
Y |
|
N/A |
|
N/A |
|
N |
|
Y |
|
Y |
|
N/A |
|
Y |
|
N |
|
Y |
|
Y |
|
Y |
Connect to Snowflake for Visual Data Discovery
The version 3.12.11 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. Symphony 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. Symphony provides it in /opt/zoomdata/lib/edc-snowflake
for Linux, and <install-path>/lib/edc-snowflake
for Windows environments.
Snowflake Time Field Conversion
The Symphony 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 Symphony 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:
AverageClusteringDepth / MAX(TotalPartitionCount, 100) * 100
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
):
snowflake.metadata-detection.fast-range-queries.max-clustering-depth-percent=<nnn>
See Connector Properties and Property Files.
The clustering depth threshold allows Symphony 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 Enabled |
TRUE/FALSE |
OAuth 2.0 Authorization URI |
Obtain 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 |
Note: Scheduled source refresh is not available when you use OAuth 2.0 authentication.
Note: 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.
Connecting to Snowflake in Managed Dashboards
This applies to: Managed Dashboards, Managed Reports
Use a data connector to connect to a Snowflake cloud data source.
Note: This requires a snowflake cloud database, for more information visit: https://www.snowflake.com.
Data Connector Settings
Create a new data connector and set Data Provider to Snowflake Database
.
You will need to enter the Host URL, User Name, Password, and Database for Snowflake.
For more information, see: