# Warehouse Destinations
# Overview
Warehouse destinations are pre-built connectors for destination platforms (email, SMS, push notifications) that activate data and deliver messages to the specified users.
# Redshift destination
Intempt’s Warehouse Destination with Amazon Redshift forwards all your incoming data to a Redshift cluster, allowing you to query the raw data directly.
To start sending your the data to the Redshift destination, you will need to configure it and create a data pipeline with Redshift warehouse as its destination.
# Redshift Database Setup
- CREATE A DATABASE AND SCHEMA Create your Redshift Database. Preferably, the database should be in the US region. Choosing a different region will increase latency between Intempt and Redshift.
Within your database, create a schema to store your data.
- CREATE GROUPS AND USERS TO MANAGE PERMISSIONS Once your database is ready, you need to create groups with permissions to read and write data to the database.
create group readwritegroup;
create group readonlygroup;
grant all on schema your_schema_nameto group readwritegroup;
Be sure to replace your_schema_name with your own name.
Intempt uses these groups to grant permissions for new tables it creates in the database. You must use the names readwritegroup and readonlygroup. You can also use these groups to control permissions for mParticle data in Redshift.
Create a user in each group. Intempt uses the dataloader user to create tables and write to the schema. The readonlyuser is used to run queries from the Intempt dashboard.
create user dataloader in group readwritegroup password 'Aabcde123!';
create user readonlyuser in group readonlygroup password 'Abcde123!';
# How to Set Up the Redshift Warehouse
Go to Destinations (opens new window) > Create Destination > Select Redshift
Add your Redshift cluster credentials.
Next, add a descriptive name for the warehouse destination.
Provide the necessary settings to get your Redshift integration working.
Name | Data Type | Default value | Description |
---|---|---|---|
Cluster Endpoint | string | Endpoint string shown on Configuration tab on your Redshift Dashboard. | |
Port | integer | 5439 | Open port for your cluster. You can find this on the details page for your cluster in Redshift. |
Database | string | The name of the database where you want to store the data. | |
Read & Write User ID | string | User ID for the dataloader user you created in your Redshift setup. These credentials will be used to manage the schema and load data. | |
Read & Write Password | string | The password for the dataloader user. | |
Read Only User ID | string | User ID for the readonlyuser user you created in your Redshift setup. | |
Read Only Password | string | The password for the readonlyuser user. | |
Intempt Schema Name | string | Name of an existing schema where you want to store Intempt data. | |
Data Items Threshold | integer | 1000 | The number of times a data item must be received in 30 day period for Intempt to create a dedicated table for it. |
Delay Between Loading Sessions in Minutes | number | 15 | Allows you to adjust how often you want to load data into the data warehouse. Note that the minimum time is 1 minute and the maximum time is 24 hours (60 minutes x 24). |
Send user attribute columns | bool | true | If enabled, individual columns are created for each user attribute |
Store device stamp | bool | false | Store device application stamp in the IntemptDevicetID column. |
# Data Tables
For every data item you send to a warehouse, Intempt will create a corresponding table. For example, if you send a data item, View Homepage to your warehouse, Intempt will create a table, view_homepage, and load all the View Homepage events into it. All event tables have the following fields, along with any custom properties you send along with it.