区域选择东京,创建S3桶s3-redshift-dw
https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html
AmazonRedshiftQueryEditor
AWSKeyManagementServicePowerUser
AmazonRedshiftQueryEditorV2FullAccess
AmazonRedshiftQueryEditorV2ReadSharing
AmazonRedshiftQueryEditorV2NoSharing
AmazonRedshiftQueryEditorV2ReadWriteSharing
点击集群->创建集群,在新打开的页面中进行如下操作:
点击集群->连接到Redshift集群->查询数据,打开Redshift操作页面
将创建表的sql语句粘贴到命令窗口,点击Run,执行sql语句创建表
create table slim_shred (
user_pseudo_id varchar(60),
advertising_id varchar(60),
event_timestamp int8,
event_name varchar(60),
country varchar(20),
version varchar(10),
id varchar(60),
user_first_touch_timestamp int8,
event_params super
);
创建完成后,在public下可以看到表slim_shred
copy slim_shred from ‘s3://s3-redshift-dw/trans03/part’
iam_role ‘arn:aws:iam::961692981863:role/RedshiftRole-S3ReadOnly’
json ‘auto ignorecase’ MAXERROR 1000;
在执行过程中出现因country字段长度超过20,version字段长度超过10,导致插入数据失败
alter table slim_shred ALTER COLUMN country TYPE varchar(50);
alter table slim_shred ALTER COLUMN version TYPE varchar(20);
再次执行命令,经过22分钟21秒加载完成
执行以下sql,经过59秒查询出结果,共921条
SELECT
first_open_date,
country,
event_name,
DATE_DIFF(‘d’,retention_date, first_open_date) AS date_diff,
COUNT(DISTINCT first_uid) AS users,
COUNT(first_uid) AS events
FROM ((
SELECT
DATE( date_add( ‘h’,-8,date_add(‘us’,event_timestamp,’1970-01-01′))) AS first_open_date,
country AS country,
user_pseudo_id AS first_uid
FROM
slim_shred
WHERE
event_name = ’19d2da1d0d3c1cd08a318cbd5c04a3b0′
— AND _TABLE_SUFFIX BETWEEN ‘20200830’
— AND ‘20200918’
— AND app_info.id = ‘com.root.clean.boost.explorer.filemanager’
GROUP BY
first_open_date,
country,
first_uid )
INNER JOIN (
SELECT
DATE( date_add( ‘h’,-8,date_add(‘us’,event_timestamp,’1970-01-01′))) AS retention_date,
event_name,
user_pseudo_id AS retention_uid
FROM
slim_shred
WHERE
event_name IN (‘e37b4b622992267149d25437cbb75237’)
— AND _TABLE_SUFFIX BETWEEN ‘20200830’
— AND ‘20200918’
GROUP BY
retention_date,
event_name,
retention_uid )
ON
first_uid = retention_uid)
GROUP BY
first_open_date,
country,
event_name,
date_diff
HAVING
date_diff BETWEEN 0
AND 15
ORDER BY
first_open_date,
country,
date_diff
在新窗口中再次执行上述sql,经过7毫秒,查询出结果