创建两个Redshift集群

本节我们将使用CloudFormation创建两个Redshift集群,以在后面进行测试Data Sharing。
集群etl-redshift-cluster是生产端,bi-redshift-cluster是消费端。etl-redshift-cluster会预先加载TPC benchmark数据

在美东一进入CloudFormation页面,创建Stack:

image-20230818223755157

Stack使用以下地址:

https://pingfan.s3.amazonaws.com/files/CFWorkloadIsolationWithDataLoad.yaml

image-20230818223830188

进入下一步,为stack命名,如redshift-data-sharing:

image-20230818223926607

EETeamRoleArn参数部分使用arn:aws:iam::<account-id>:user/<iam-user-name> 进行替换,其他参数可以保持不变:

image-20230818224244571

最后点击创建:

image-20230818224008091

创建的过程大概在5分钟左右。创建完成后,在Redshift控制台可以看到两个集群:

image-20230818224741303

使用Query Editor执行SQL

进入etl-redshift-cluster,打开query editor v2:

image-20230818224808268

一开始进入时会显示如下页面,点击Configure account:

image-20230818224902501

双击etl-redshift-cluster:

image-20230818224924603

选择Temporary credentials, 使用Database = dev, User name = aws user

image-20230818224943331

连接上去后,CloudFormation脚本中已经为这个集群初始化了几张数据表:

image-20230820190733037

为了保护customer表的隐私信息,我们为这个表创建一个视图,在后面的实验中把这个视图分享出去:

CREATE VIEW customer_view
AS
SELECT
C_CUSTKEY, 
C_NATIONKEY, 
C_MKTSEGMENT ,
C_COMMENT 
FROM customer;

image-20230820190929596