Requirements for Snowflake

From HVR
Jump to: navigation, search

  Since    v5.2.3/16  
This section describes the requirements, access privileges, and other features of HVR when using Snowflake for replication. For information about the capabilities supported by HVR on Snowflake, see Capabilities for Snowflake.

For information about compatibility and supported versions of Snowflake with HVR platforms, see Platform Compatibility Matrix.

Snowflake
Capture Hub Integrate
Icon-No.png Icon-No.png Icon-Yes.png

ODBC Connection

HVR requires that the Snowflake ODBC driver is installed on the machine from which HVR will connect to Snowflake. For more information on downloading and installing Snowflake ODBC driver, see Snowflake Documentation.

Location Connection

This section lists and describes the connection details required for creating Snowflake location in HVR.

SC-Hvr-Location Snowflake.png
Field Description
Database Connection
Server The hostname or ip-address of the machine on which the Snowflake server is running.
  Example: www.snowflakecomputing.com
Port The port on which the Snowflake server is expecting connections.
  Example: 443
Role The name of the Snowflake role to use.
  Example: admin
Warehouse The name of the Snowflake warehouse to use.
  Example: snowflakewarehouse
Database The name of the Snowflake database.
  Example: mytestdb
Schema The name of the default Snowflake schema to use.
  Example: snowflakeschema
User The username to connect HVR to the Snowflake Database.
  Example: hvruser
Password The password of the User to connect HVR to the Snowflake Database.
Linux / Unix
Driver Manager Library The optional directory path where the ODBC Driver Manager Library is installed. For a default installation, the ODBC Driver Manager Library is available at /usr/lib64 and does not need to specified. When UnixODBC is installed in for example /opt/unixodbc-2.3.1 this would be /opt/unixodbc-2.3.1/lib.
ODBCSYSINI The directory path where odbc.ini and odbcinst.ini files are located. For a default installation, these files are available at /etc and does not need to be specified. When UnixODBC is installed in for example /opt/unixodbc-2.3.1 this would be /opt/unixodbc-2.3.1/etc. The odbcinst.ini file should contain information about the Snowflake ODBC Driver under the heading [SnowflakeDSIIDriver].
ODBC Driver The user defined (installed) ODBC driver to connect HVR to the Snowflake server.


Integrate and Refresh Target

HVR supports integrating changes into Snowflake location. This section describes the configuration requirements for integrating changes (using integrate and refresh) into Snowflake location.

Grants for Integrate and Refresh Target

  • The User should have permission to read and change replicated tables.
  • grant select, insert, update, delete, truncate on tbl to hvruser
    
  • The User should have permission to create and drop HVR state tables.
  • The User should have permission to create and drop tables when HVR Refresh will be used to create target tables.
  • grant usage, modify, create table on schema schema in database database to role hvruser
    

Burst Integrate and Bulk Refresh

HVR allows you to perform Integrate with Burst and Bulk Refresh on Snowflake (it uses the Snowflake "COPY INTO" feature for maximum performance).

For Snowflake on AWS, HVR requires the following to perform Integrate with Burst and Bulk Refresh:

  1. An AWS S3 location - to store temporary data to be loaded into Snowflake.
  2. An AWS user with 'AmazonS3FullAccess' policy - to access this location.
  3. For more information, refer to the following AWS documentation:

  4. Define action LocationProperties on the Snowflake location with the following parameters:
    • /StagingDirectoryHvr: the location where HVR will create the temporary staging files (ex. s3://my_bucket_name/).
    • /StagingDirectoryDb: the location from where Snowflake will access the temporary staging files. If /StagingDirectoryHvr is an Amazon S3 location, this parameter should have the same value.
    • /StagingDirectoryCredentials: the AWS security credentials. The supported formats are "aws_access_key_id=key;aws_secret_access_key=secret_key" or "role=AWS_role". For more information about AWS credential or Instance Profile Role, refer to the AWS documentation.

  Since    v5.5.5/4  

For Snowflake on Azure, HVR requires the following to perform Integrate with Burst and Bulk Refresh:

  1. An Azure BLOB storage location - to store temporary data to be loaded into Snowflake
  2. An Azure user (storage account) - to access this location. For more information, refer to the Azure Blob storage documentation.
  3. Define action LocationProperties on the Snowflake location with the following parameters:
    • /StagingDirectoryHvr: the location where HVR will create the temporary staging files (e.g. wasbs://myblobcontainer).
    • /StagingDirectoryDb: the location from where Snowflake will access the temporary staging files. If /StagingDirectoryHvr is an Azure location, this parameter should have the same value.
    • /StagingDirectoryCredentials: the Azure security credentials. The supported format is "azure_account=azure_account;azure_secret_access_key=secret_key".

Compare and Refresh Source

  • The User should have permission to read replicated tables.
  • grant select on tbl to hvruser