WhereScape Enablement Pack for Snowflake - RED 10

This is a guide to installing the WhereScape Enablement Pack for Snowflake for WhereScape RED10




Prerequisites For PostgreSQL Metadata

Before you begin the following prerequisites must be met:

  • Create Database and ODBC DSN:
    • Supported* version of PostgreSQL (PostgreSQL 12 or higher)
      • A database to house the RED Metadata Repository.
      • A database for the Range Table DB (Optional)
      • A database to house scheduler (Optional)
  • Software Installations
    • WhereScape RED10 with valid license key entered and EULA accepted
    • WhereScape Enablement Pack for target database version RED10
  • Windows Powershell (64-bit) version 4 or higher
    • To check the Windows Powershell Version:
      • Run the below command in Windows Powershell
        Get-Host|Select-Object Version
      • Run the below command in the Command Prompt
        powershell $psversiontable
  • Run the following command using PowerShell
      • The security protocol TLS 1.0 and 1.1 used by PowerShell to communicate with the PowerShell gallery has been deprecated and TLS 1.2 has been made mandatory
        [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
        Register-PSRepository -Default -Verbose
        Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

      • Progress bar placeholder info line
        Install-Module -Name PoshProgressBar -SkipPublisherCheck -Force

  • RED supports the following versions for the metadata repository: PostgreSQL 12 or higher

 

Prerequisites for Snowflake

Before you begin the following prerequisites must be met:

  • Create Database and ODBC DSN:
  • Software Installations
  • Python 3.8 or higher (Tested with 3.8-3.11)
    • Select Add Python 3.8 to PATH from the installation Window
    • Pip Manager Install with the command: python -m pip install --upgrade pip

Some of the libraries might be deprecated in the newer versions of Python (Python 3.12 and higher)

 Installation Through Setup Wizard

Run Setup Wizard as administrator

Create a new repository or upgrade an existing repository.

Select the created ODBC DSN, input login details, and then select Validate. Click Next

Select the directory that contains the unzipped Enablement Pack for installation. Click Next

Using the checkboxed list, include or exclude the components that are to be installed. Click Next

Configure a target connection (for example, Data Warehouse) and its target locations.

Validate and click Add.

When done, click Add and then Next to continue.

Configure a data source connection (optional) and its target locations. Validate and click Add. Click Next to advance.

Review the installation summary and click Install

Click View Logs to open the installation log. Click Finish once the installation is completed successfully.

Login to WhereScape RED.

There is a post-install script that will run at the first login to RED10 to complete the post-setup wizard installation process.

You will be directed to the below PowerShell window which will give a brief explanation about the post-installation process.

Click OK to start the post-installation. If you click Cancel the installation stops and the user is directed to RED.
The user will be directed to the window below, where they have to select the target connection to be configured. Additionally, by deselecting the provided options, the user can choose not to install a particular option.

You will be directed to the PowerShell window below. Provide the directory that contains the unzipped Enablement Pack.

Select the template set for installation either Python or PowerShell.

Click OK
The progress bar will show the post-installation progress.

Users will have to choose the schema for the target setting that were provided. Three such pop up will come for setting the default target schema for Date Dimension, File Formats, and Jobs.



After selecting the target schema progress bar will show the progress for the installation and once it's completed, you will get the below pop up.

After clicking OK RED10 opens automatically.

The user needs to refresh the All Objects tree once.

After Refresh

Upgrade Of Existing Repository

For upgrade of existing repository

  • From the host script set a script type of wsl_post_install_enablement_pack as Auto Execute - PowerShell Script

   
Important Upgrade Notes
If RED upgrades the repository option is chosen.
This enablement pack will overwrite any existing Source Enablement Pack UI Configs:

Connection UI Config

Load UI Config

Amazon S3

Load From Amazon S3

Azure Data Lake  Storage Gen2

Load From Azure Data Lake  Storage Gen2

Google Cloud

Load From Google Cloud

To ensure existing Source Enablement Pack connections and associated Load Tables continue to browse and load:
Go into UI Configuration Maintenance in RED before installing this  Enablement Pack and rename the affected UI Configurations. While the updated Load Template will work with the previous Source Enablement Pack we recommend moving these earlier versions of Load Tables to newly created Parser-based connections following this install. The earlier versions of the Source Enablement Pack will be deprecated following this release.
 

Important Upgrade Notes
A change to the script exit code has been introduced. Whenever a load/update script is regenerated, it is essential to regenerate the linked action script. Similarly, regenerating the action scripts requires regenerating the associated load/update scripts to keep both scripts in sync.

Post Install Steps – Optional

If you used the script Setup Wizard for installation then the following optional post-install steps are available.


Configure Connections
There were Three connections added that will optionally require your attention:

  1. Connection: Data Warehouse ('Snowflake' )- This connection was set as per parameters provided in Setup Wizard
    1. Open its properties and check the extended properties tab, set it up for SNOWSQL_ACCOUNT and SNOWSQL_WAREHOUSE
  2. Connection: 'Database Source System' - this connection was set up as an example source connection,
    1. Open its properties and set it up for a source DB in your environment
    2. or, you can remove it if not required

Enable Script Launcher Toolbar

Several stand-alone scripts provide some features such as "Ranged Loading", these scripts have been added to the Script Launcher menu but you will need to enable the menu toolbar item to see them.
To enable the Script Launcher menu in RED, select View->Toolbars->Script Launcher

Source Enablement Pack Support

Source Pack Name

Supported By Snowflake

Supported Features

Prerequisites

Amazon S3

Yes

Bulk load to Snowflake

For PowerShell Load :
Install-Module -Name AWSPowerShell

Azure Data Lake Storage Gen2

Yes

Bulk load to Snowflake

Generate and add SAS token to Azure Data Lake Storage Gen2 connection properties:
{+}https://docs.snowflake.com/en/user-guide/data-load-azure-config.html#option-2-generating-a-sas-token+

Google Cloud Storage

Yes

Bulk load to Snowflake

1. Create Storage Integration  (Snowflake)
CREATE OR REPLACE STORAGE INTEGRATION <STORAGE_INTEGRATION_NAME>  TYPE = EXTERNAL_STAGE  STORAGE_PROVIDER = GCS  ENABLED = TRUE  STORAGE_ALLOWED_LOCATIONS = ('<BUCKET_PATH>'); 
2. Create Staging Area (Snowflake)
USE DATABASE <DATABASE_NAME>;  CREATE OR REPLACE STAGE <STAGE_NAME>  url = '<BUCKET_PATH>'  storage_integration = <STORAGE_INTEGRATION_NAME> 
3. Get Storage Integration Desc (Snowflake)
DESC STORAGE INTEGRATION <STORAGE_INTEGRATION_NAME> 
4. Copy STORAGE_GCP_SERVICE_ACCOUNT and create  IAM on Google Cloud Console with the following permissions 
storage.buckets.get storage.objects.createstorage.objects.delete storage.objects.get storage.objects.list
5. Add extended properties to Google Cloud Storage Connection in RED
GCS_STORAGE_INTEGRATIONGCS_STAGE_AREA_NAME
6. Please refer to the official link for steps to download gsutil: {+}https://cloud.google.com/storage/docs/gsutil_install+

Google Drive

Yes

Downloads a file From Google Drive and uploads to Snowflake Table

None

Windows Parser


Load Template, Source Properties will have the option to select parser type to load the files.

Refer to Windows Parser Guide.

Troubleshooting and Tips

Run As Administrator

Press the Windows key on your keyboard and start typing cmd.exe, when the cmd.exe icon shows up in the search list right click it to bring up the context menu, select Run as Administrator
Now you have an admin prompt to navigate to the folder where you have unpacked your WhereScape Red Enablement Pack using the cd command:
C:\Windows\system32> cd <full path to the unpacked folder> 
Run batch (.bat) scripts from the administrator prompt by simply typing the name at the prompt and clicking enter, for example:
C:\temp\EnablementPack>install_WslPowershell_Modules.bat
Run Powershell (.ps1) scripts from the administrator prompt by typing the Powershell run script command, for example:
C:\temp\EnablementPack>Powershell -ExecutionPolicy Bypass -File .\Setup_Enablement_Pack.ps1

In the event you can not bypass the Powershell execution policy due to group policies you can instead try -ExecutionPolicy RemoteSigned which should allow unsigned local scripts.

Windows Powershell Script Execution

On some systems, Windows Powershell script execution is disabled by default. There are several workarounds for this which can be found by searching the term "Powershell Execution Policy".
Here is the most common workaround that WhereScape suggests, which does not permanently change the execution rights:
Start a Windows CMD prompt as Administrator, change the directory to your script directory, and run the WhereScape Powershell scripts with this command:

  • cmd:>Powershell -ExecutionPolicy Bypass -File .\<script_file_name.ps1>

Re-install Python Libraries

Press the Windows Key on your keyboard and start typing cmd.exe, when the cmd.exe icon shows up in the search list right click it to bring up the context menu, select "Run As Administrator"
Now you have an admin prompt navigate to to the folder where you have unpacked your WhereScape Red Enablement Pack using the cd command:
C:\Windows\system32> cd <full path to the unpacked folder> 
Run batch (.bat) scripts from the administrator prompt by simply typing the name at the prompt and clicking enter, for example:
C:\temp\EnablementPack>uninstall_WslPython_Modules.bat
For the installation of Python libraries, there are two methods

  • Method 1
    Press the Windows key on your keyboard and start typing cmd.exe, when the cmd.exe icon shows up in the search list right click it to bring up the context menu, select Run as Administrator
    Now you have an admin prompt navigate to to the folder where you have unpacked your WhereScape Red Enablement Pack using the cd command:
    C:\Windows\system32> cd <full path to the unpacked folder> 
    Run batch (.bat) scripts from the administrator prompt by simply typing the name at the prompt and clicking enter, for example:
    C:\temp\EnablementPack>install_WslPython_Modules.bat
  • Method 2

    Press the Windows Key on your keyboard and start typing cmd.exe, when the cmd.exe icon shows up in the search list right click it to bring up the context menu, select Run As Administrator

    Now you have an admin prompt navigate to to the folder where you have unpacked your WhereScape Red Enablement Pack using the cd command:

    C:\Windows\system32> cd <full path to the unpacked folder> 

    Run the below command

    python -m pip install -r requirements.txt

For upgrade of an existing repository 


In the upgrade of an existing repository if the user gets the above error then it means the script type of wsl_post_install_enablement_pack is set to PowerShell(64-bit) change the script type to Auto Execute-PowerShell before upgrading or manually running the wsl_post_install_enablement_pack script from host script from RED after the upgrade.

If a valid RED installation can not be found

If you have RED 10.x or higher installed but the script (Setup_Enablement_Pack.ps1) fails to find it on your system then you are most likely running the PowerShell (x86) version which does not show installed 64-bit apps by default. Please open a 64-bit version of Powershell instead and re-run the script.

AWS PrivateLink Documentation

Please refer to the link below for the configuration of AWS PrivateLink for Snowflake:
{+}https://community.snowflake.com/s/article/Setup-On-Premise-DNS-to-work-in-conjunction-with-AWS-PrivateLink+


  • No labels