GoodData-Redshift Integration Details
When setting up direct data distribution from your Redshift data warehouse, pay attention to the considerations and best practices listed in this article.
This article is applicable to all use cases of GoodData and Redshift integration:
- Integrate a Data Source for a Data Warehouse (a getting-started guide based on sample data)
- Integrate Data Warehouses Directly to GoodData based on an Existing LDM
Port Used
You can use any port from within the range of 1024-65535.
Access to the Cluster
So that the GoodData platform can connect to your Redshift cluster, authorize access to it. For information, see Redshift user documentation and GoodData IP Addresses and IP Whitelisting.
User Access Rights
We recommend that you grant the following access rights to the user who is referenced in Data Sources:
GRANT USAGE ON SCHEMA {schema_name} TO {user_name};
GRANT SELECT ON ALL TABLES IN SCHEMA {schema_name} TO {user_name};
If you use AWS Identity and Access Management (IAM) for Redshift authentication, do the following:
- Create an IAM role or user with permissions to call
GetClusterCredentials
(see https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-role-permissions.html). - (Optional) Create a database user and database groups (see https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-user-and-groups.html).
Data Types
The Redshift data warehouse provides a wide range of data types. During mapping the Redshift schema and the GoodData logical data model (LDM), data types are automatically converted from a Redshift data type to a GoodData LDM data type. Some columns may be ignored because their data type is not supported within GoodData or their type may lead to performance issues. If you want to prevent automatic changes, update the schema manually.
Redshift Data Type | GoodData LDM Data Type |
---|---|
BIGINT | INT |
BOOL | VARCHAR (5) |
BOOLEAN | VARCHAR (5) |
BPCHAR | VARCHAR (256) |
CHAR | VARCHAR (1) |
CHAR (n) | VARCHAR (n) |
CHARACTER | VARCHAR (1) |
CHARACTER (n) | VARCHAR (n) |
CHARACTER VARYING | VARCHAR (256) |
CHARACTER VARYING (n) | VARCHAR (n) |
DATE | DATE |
DECIMAL | DECIMAL (12, 0) |
DECIMAL (precision, scale) | DECIMAL (precision, scale) |
DOUBLE PRECISION | DECIMAL (12, 2) |
INT | INT |
INT2 | INT |
INT4 | INT |
INT8 | INT |
INTEGER | INT |
FLOAT | DECIMAL (12, 2) |
FLOAT4 | DECIMAL (12, 2) |
FLOAT8 | DECIMAL (12, 2) |
FLOAT (n) | DECIMAL (12, 2) |
NCHAR | VARCHAR (1) |
NUMERIC | DECIMAL (12, 0) |
NUMERIC (n) | DECIMAL (n, 0) |
NVARCHAR | VARCHAR (256) |
REAL | DECIMAL (12, 2) |
SMALLINT | INT |
TEXT | VARCHAR (256) |
TIMESTAMP | DATE |
TIMESTAMP WITH TIME ZONE | DATE |
TIMESTAMP WITHOUT TIME ZONE | DATE |
TIMESTAMPTZ | DATE |
VARCHAR | VARCHAR (256) |
VARCHAR (n) | VARCHAR (n) |