This is a guide to installing the WhereScape Enablement Pack for Redshift for WhereScape RED



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 to house scheduler (Optional)
  • Software Installations
    • WhereScape RED10.1.x.x with valid license key entered and EULA accepted
    • WhereScape Enablement Pack for target database version RED10.1.x.x 
  • 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 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 PowerShell gallery has 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 Target Database

Before you begin the following prerequisites must be met:

  1. Access to a Redshift System, with the following connectivity information:
    • Server Name
    • Database Name
    • Port
    • User Name
    • Password
  2. Access to an S3 bucket in the same region as your Redshift system to be used for temporary files while loading data from Windows files and database tables. Specifically, you need to know:
  3. Create Database and ODBC DSN Redshift ODBC driver (64-bit)
  4. Redshift software installed
    • Amazon Redshift ODBC driver (64-bit)
    • ODBC DSN was created to connect to your RED Data Warehouse on Redshift.
  5. Python 3.8 or higher 
    • Select "Add Python 3.8 to PATH" from the installation Window
    • Pip Manager Install with command: python -m pip install --upgrade pip


Enablement Pack Setup Scripts

The Enablement Pack Install process is entirely driven by scripts. The below table outlines these scripts, their purpose and if Run as Administrator is required. 

1

Setup_Enablement_Pack.ps1

Setup and configure a RED Metadata Repository for target database If RED repository exists then updates the repository with 1.Templates 2.Scripts 3.Extended Properties 4.Datatype Mappings 5.UI Configurations

Yes

New and Existing installations

2

install_WslPython_Modules.bat

Installs or updates WslPython Modules and required Python libraries on this machine.

Yes

New and Existing installations

3

import_python_templates.ps1

Imports or updates the Python Templates  to a RED Metadata Repository. Also includes any Script Imports

No*

Existing installations

4

set_default_templates.ps1

Applies the RED Connection defaults in a RED Metadata Repository for Python or Powershell templates.

No*

Existing installations


Note that on some systems executing Windows Powershell scripts is disabled by default, see troubleshooting for workarounds
Each Powershell script in the list above provides some help at the command line, this can be output by passing the -help parameter to the script. For Example > .\Setup_Enablement_Pack.ps1 -help  

Step-By-Step Guide

Setup and configure RED Metadata Repository

Run Powershell as Administrator:         

  • Script 1 > Powershell -ExecutionPolicy Bypass -File .\Setup_Enablement_Pack.ps1 

Important Upgrade Notes If RED repository exists, it will prompt to upgrade the repository.

  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 previous Source Enablement Pack's we recommend moving these previous 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.  

Install or Update WhereScape Python Modules      

Run Script As Administrator         

  • Script 2 > install_WslPython_Modules.bat    

There are two steps in this script:                 

  1. Installs the WhereScape WslPython modules to C:\Program Data\WhereScape\Modules\      
  2. PIP to download/update required Python libraries - for offline install please see the required library list for Python in the Troubleshooting section.

Install or Update WhereScape Python Templates (For Existing Installations)

Run Script as Administrator          

  • Script 2 > install_WslPython_Modules.bat          
  • Script 3 > . .\import_python_templates.ps1          
  • Script 4 > . .\set_default_templates.ps1

Note: Skip this step for new installations.

Set Connection defaults for a Template Set (For Existing Installations)

  • Script 4 > . .\set_default_templates.ps1
  • Choose Python when prompted.  


 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 two connections added that will optionally require your attention :

  1. Connection: Data Warehouse ('Redshift' )- This connection was set as per parameters provided in Setup Wizard
    • open its properties and check the extended properties tab, set it up for Access Key, Secret Key, S3 Region, and S3 Storage Location
  2. Connection: 'Database Source System' - this connection was set up as an example source connection,
    • open its properties and set it up for a source DB in your environment
    • or you can remove it if not required

Source Enablement Pack Support

Source Pack Name

Supported By Redshift

Supported Features

Prerequisites/Permissions Required for Redshift

Google Cloud Storage

Yes

Download to local and load

None

Azure Data Lake Storage Gen2

Yes

Download to local and load

None

Amazon S3

Yes

Download to local and load

None

Windows Parser

Yes

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 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 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>

Restarting failed scripts

Some of the setup scripts will track each step and output the step number when there is a failure. To restart from the failed step (or to skip the step) provide the parameter "-startAtStep <step number>" to the script.
Example: 
Powershell -ExecutionPolicy Bypass -File .\<script_file_name.ps1> -startAtStep 123

To avoid having to provide all the parameters again you can copy the full command line with parameters from the first "INFO" message from the beginning of the console output. 

Python requirements for offline install

Additionally to the base Python installation being required, the WhereScape Python Template set also requires certain additional Python libraries. The install scripts use the PIP (package manager) to download these libraries, however, for offline installs, you will need to install the required libraries yourself.
Required Python libraries/add-ons:

  • pywin32-ctypes
  • python-tds
  • pywin32
  • glob2
  • gzip-reader
  • regex
  • pyodbc

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 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.