iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0
AI & Data

AWS 數據處理與分析實戰系列 第 26

Day 26 持續同步 S3 資料到 Redshift - Part 1

  • 分享至 

  • xImage
  •  

之前在Glue 上進行資料存取時都是使用 S3,而今天我們要透過 Glue Job 將 S3 資料儲存到 Redshift

  1. 首先我們先準備資料,這次我是使用 Day 17 的運算結果,每個 User 最喜歡的前五名商品清單,我將它放到新的 S3 路徑下,並且將他切成三等份每一份大約 30 萬筆資料,因為這次要模擬每天都有新的資料新增到 s3 並且要同步到 Redshift,所以第一天的資料路徑為 s3://it.sample.s3/toRedshiftFile/20201001/top5-1.csv

  2. 創建新的 Crawler(top5-crawler),詳細創建方法可以參考 Day 7,這裡會列出不同需要調整的步驟, Crawler 第三步驟的 Include path 需要修改為 s3://it.sample.s3/toRedshiftFile

https://ithelp.ithome.com.tw/upload/images/20201009/2012923648qDUo37KU.png

  1. 創建新的 ETL Job(it-to-redshift),詳細流程可以參考 Day 15,這裡也會列出不同且需要調整的步驟
    • 第一步驟的 Adavanced properties 中的 Job bookmark 需要調整為 Enable

https://ithelp.ithome.com.tw/upload/images/20201009/20129236AWHCrAPb92.png

  1. Data Source 的部分要選擇今天 Crawler 所創建的 Table

https://ithelp.ithome.com.tw/upload/images/20201009/20129236ed7swoZ6u5.png

  1. Data target 要選擇 Day 25 所創建的 Redshift 連接

https://ithelp.ithome.com.tw/upload/images/20201009/201292369Ecg0aWEww.png

  1. 之後就可以直接創建 Script,在 Script 中我會修改倒數第二行的 Redshift Table Name 為 top5
datasink4 = glueContext.write_dynamic_frame.from_jdbc_conf(frame = dropnullfields3, catalog_connection = "IT-Red", connection_options = {"dbtable": "top5", "database": "dev"}, redshift_tmp_dir = args["TempDir"], transformation_ctx = "datasink4")

上一篇
Day 25 透過 Data Catalog 連接 Redshift
下一篇
Day 27 持續同步 S3 資料到 Redshift - Part 2
系列文
AWS 數據處理與分析實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言