09/15 2021

【AWS 數據戰情室】Day 27 持續同步 S3 資料到 Redshift – Part 2

持續同步 S3 資料到 Redshift

接下來我們要來測試是否可以每天進行 Redshift 的資料更新,並且不會產生重複的資料

1. 修改完 ETL Job 的 Script 後就可以直接執行此 Job

同步 S3 資料到 Redshift

2. 執行完成後可以到 Redshift 的 Query editor 進行驗證,在右邊的查詢欄中輸入 select count(*) from top5 計算資料的總筆數,計算出來的筆數是 329999

同步 S3 資料到 Redshift

3. 接下來我們到 Data Catalog 的 Table 使用 Athena 進行確認,這邊是直接查詢 S3 上的資料筆數,所以所以只要資料筆數與 Redshift 中相等,就可以表示資料寫入是正確的

同步 S3 資料到 Redshift

4. 在 Athena 中輸入 SELECT count(*) FROM “it_db”.”toredshiftfile” 進行查詢

同步 S3 資料到 Redshift

5. 在來我們要驗證如果是第二天的資料同步到 Redshift 後是否會產生重複的資料,將第二天的資料放入 s3://it.sample.s3/toRedshiftFile/20201002/top5-2.csv 代表第二天的資料,接著運行 Crawler(top5-crawler),Crawler 運行成功後直接運行 ETL Job(it-to-redshift)

6. ETL Job(it-to-redshift) 運行完成後我們一樣到 Redshift 計算資料筆數,總筆數為 709999,如果總筆數為 1039998 那表示 ETL Job 的 Job bookmark 沒有設為 Enable,可以參考 Day 26 的教學

同步 S3 資料到 Redshift

7. 透過 Athena 進行確認真實筆數,總筆數為 709999,所以代表 Redshift 上的資料筆數與 S3 中的資料筆數是相同的

同步 S3 資料到 Redshift

8. 第三天的資料就留給各位自行操作,重複步驟 4~7 即可

請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!

若您有任何 AWS 需求,歡迎與我們聯繫!