Amazon Redshift
Hands-On
Demo

In this demo, we will:
- Create an Amazon Redshift cluster
- Configure network access and security
- Connect to the cluster using Query Editor
- Load sample data into Redshift
- Perform basic queries and analyze query performance
- Copy Command
- Clean up resources
Agenda
Create S3 Bucket
and Upload Sample Data

redshift-demo-bucket-468024
sale_id,customer_id,product_id,sale_date,quantity
6,3,1,2023-01-20,2
7,1,2,2023-01-21,1
8,2,3,2023-01-22,3
sales_data.csv

Upload sales_data.csv

Create Redshift Cluster

Create cluster
redshift-demo-cluster




Load sample data

awsuser
Awsuser123
Database configurations

Database encryption



Cluster permissions

Network and security




Network and security



Create cluster subnet group
cluster-subnet-group-1
cluster-subnet-group-1

Add subnets

Publicly accessible


Database configurations
demodb
5439

Maintenance

Monitoring

Backup
Connect

Connect to Redshift clusters

demodb
awsuser
Awsuser123
Load tickit Sample Data

Load Sample Data

Run Sample Query for tickit database
Load your own data

Create Table
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50),
email VARCHAR(100),
signup_date DATE
);


Table Created

INSERT INTO users (user_id, username, email, signup_date)
VALUES
(1, 'john_doe', 'john@example.com', '2023-01-15'),
(2, 'jane_smith', 'jane@example.com', '2023-02-20'),
(3, 'bob_johnson', 'bob@example.com', '2023-03-10'),
(4, 'alice_brown', 'alice@example.com', '2023-04-05'),
(5, 'charlie_davis', 'charlie@example.com', '2023-05-12');
Insert Query


SELECT * FROM users;
Select Query

SELECT DATE_TRUNC('month', signup_date) AS month, COUNT(*) AS user_count
FROM users
GROUP BY DATE_TRUNC('month', signup_date)
ORDER BY month;
1. The DATE_TRUNC('month', signup_date) function is used to group dates by month.
2. The COUNT(*) function is used to count the number of users for each month.
Aggregation Query
SELECT
TO_CHAR(DATE_TRUNC('month', signup_date), 'Month') AS month,
COUNT(*) AS user_count
FROM users
GROUP BY DATE_TRUNC('month', signup_date)
ORDER BY DATE_TRUNC('month', signup_date);
- This query shows how many new users signed up each month.
- It takes all the sign-up dates, groups them by month, and counts how many users joined in each month.
- The results are ordered from earliest to latest, giving you a clear view of your user growth over time.
- It's a simple way to see if your sign-ups are increasing, decreasing, or staying steady month by month, without having to sift through individual user records.
Copy Command
Copy S3 Data Directly to Redshift Table

CREATE TABLE sales (
sale_id INTEGER PRIMARY KEY,
customer_id INTEGER,
product_id INTEGER,
sale_date DATE,
quantity INTEGER
);


COPY sales FROM 's3://redshift-demo-bucket-468024/sales_data.csv'
IAM_ROLE 'arn:aws:iam::651623850282:role/service-role/AmazonRedshift-CommandsAccessRole-20241020T104609'
region 'us-east-1'
CSV
IGNOREHEADER 1;

copy command

select * from sales;
Select query
Connect from Local Machine

Edit inbound rules to Access from local machine

Connecting from local DB Client
Clean Up

Delete Redshift Cluster
delete

Delete Role
Delete S3 Bucket
🙏
Thanks
for
Watching
Amazon RedShift - Hands-On Demo
By Deepak Dubey
Amazon RedShift - Hands-On Demo
Amazon RedShift - Hands-On Demo
- 273