Talend Snowflake Connectivity

author
Dale Anderson
EnrichVersion
6.5
EnrichProdName
Talend Open Studio for Big Data
Talend Data Fabric
Talend Real-Time Big Data Platform
Talend Data Services Platform
Talend Open Studio for ESB
Talend Big Data Platform
Talend Big Data
Talend ESB
Talend Open Studio for MDM
Talend MDM Platform
Talend Open Studio for Data Integration
Talend Data Integration
Talend Data Management Platform
task
Data Quality and Preparation > Third-party systems > Cloud storages > Snowflake components
Design and Development > Third-party systems > Cloud storages > Snowflake components
Data Governance > Third-party systems > Cloud storages > Snowflake components
EnrichPlatform
Talend Studio

Talend Snowflake Connectivity

Talend provides two ways to define connectivity to a Snowflake cloud instance.

Both are found in the Project Repository when you open a Talend Studio project:

  • The preferred method is to create a direct connection in the Metadata > Snowflake section using native connectivity.
  • Alternatively, a JDBC connection in the Metadata > DB Connections section using a generic JDBC driver is available.

Creating a Native Connection to Snowflake

Procedure

  1. Look at the native connection in the Project repository.
  2. Find the Metadata section and locate the Snowflake icon.
  3. Right-click and select the Create Snowflake menu option.

    This opens the Connection definition dialog box.



  4. Give the connection definition a Name, enter the Account, User Id, Password, Warehouse Name, Schema (typically PUBLIC), and a Database Name.
    Initially the parameters are filled in manually to establish a valid connection, but it is a best practice to convert this into a Context Group with variables assigned to the connection parameters.
  5. Click Advanced, then ensure that the Login Timeout, Tracing, and Role settings are suitable.
  6. Click OK.


    The following example shows the dialog box once it has been exported as a Context Group.



  7. Once a context group is created, test each connection to ensure validity.
    It is advisable to test connections before exporting them as a context, however once the context group is created, you can set up different contexts by environment (a best practice).


    A dialog box appears indicating when the Snowflake database connection is valid.


  8. Once a valid connection is made, click Next.
  9. Select the tables of interest then click Finish.


Results

The result is a Snowflake connection definition usable in Talend Jobs that allows access to the selected tables. You can see these listed in the Project Repository under the connection definition.

Creating a JDBC Connection to Snowflake

Procedure

  1. To create a JDBC connection to Snowflake, find the Metadata section and locate the DB Connections icon. Right-click and select the Create Connection menu option. This opens the Connection Description dialog box.
  2. Enter a Connection Name, Purpose, and Description, then click Next.

    This opens the Connection Definition dialog box. The values needed are a bit different from a native connection, in that you must specify the JDBC driver parameters in addition to the Snowflake details.

    In particular, it is critical to get the JDBC URL correct. Here is the required syntax:

    jdbc:snowflake://{site}.snowflakecomputing.com:443/?account={acctnm}&role={defrole}&ssl=on

  3. Navigate to and select the previously installed Driver jar.

    Two are shown here, and it is likely that the most recent file is preferred.

  4. Navigate to and select the previously installed Class name.
  5. Enter the User Name, Password, and select oracle_id as the Mapping file.
  6. Before clicking Finish, click Export as context to export the connection definition as a Context Group by environment.
  7. Click Check to test the connection directly from it, then click Finish.
    The result of this is a Snowflake JDBC connection definition, usable in Talend Jobs, that allows access to the selected tables. You can see these listed in the Project Repository under the connection definition.