iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
AI & Data

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

Day 21 Glue Workflows 教學 - Part 1

  • 分享至 

  • xImage
  •  

講完 Data Catalog 與 ETL Job 後,在整個資料處理的流程中可能會需要用自動化的方式讓整個流程可以夠便利,而今天就要來介紹如何創建 Glue 的自動化流程

假設我們的資料源是以天為單位的方式存入S3,如下所示,則會有 Partition 更新的需求,每一天都是一個 Partition,所以在執行 ETL Job 之前需要先執行一次 Data Catalog 來更新新的 Partition 資料,這樣 ETL Job 才能看到最新的資料

it.sample.s3
   ㇄SampleData
        ㇄order
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄orders.csv
        ㇄order_products_prior
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄order_products__prior.csv
        ㇄order_products_train
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄order_products__train.csv
        ㇄products
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄products.csv
        ㇄sample_submission
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄sample_submission.csv
        ㇄departments
        ⎢   ㇄2020
        ⎢      ㇄01
        ⎢        ㇄01
        ⎢          ㇄departments.csv
        ㇄aisles
           ㇄2020
              ㇄01
                ㇄01
                   ㇄aisles.csv

所以我們的目標是在執行完成 Data Catalog 後在執行 ETL Job

  1. 首先我們到 Glue Workflows 創建一個新的 Workflow

https://ithelp.ithome.com.tw/upload/images/20201005/201292365ExmpK41ie.png

  1. 輸入 Workflow 的名稱後就可以直接點選 Add workflow

https://ithelp.ithome.com.tw/upload/images/20201005/20129236Ugnqmnh2hd.png

  1. 點選剛剛創建完成的 Workflow,在點擊 Target

https://ithelp.ithome.com.tw/upload/images/20201005/20129236ZO7cFdugqi.png

  1. Trigger 的部分我們選擇 Add new,Trigger 選擇 On demand 我們先使用手動的方式啟動這一個資料處理流程

https://ithelp.ithome.com.tw/upload/images/20201005/20129236A6WbN5SvSZ.png

  1. 接下來我們新增要執行的 Crawler

https://ithelp.ithome.com.tw/upload/images/20201005/20129236nYPKyW0fo4.png

  1. 我們選擇 Day 7 所創建的 Crawler

https://ithelp.ithome.com.tw/upload/images/20201005/201292368ed4HAJi6G.png

  1. 添加新的 Trigger

https://ithelp.ithome.com.tw/upload/images/20201005/20129236Cf8arzXlE7.png

  1. 這個 Trigger 會在 Crawler 執行成功後啟動 ETL Job

https://ithelp.ithome.com.tw/upload/images/20201005/20129236vNU17nlVRN.png

  1. 接下來新增 ETL Job

https://ithelp.ithome.com.tw/upload/images/20201005/20129236XVmdxunROH.png

  1. ETL Job 選擇我們在 Day 15 創建的 Job

https://ithelp.ithome.com.tw/upload/images/20201005/20129236yh6AY4hDgp.png

  1. 這樣一個簡單的處理流程就設定完成了,接下來我們直接執行看看,點選 Action 中的 Run 就可以開始執行這個流程

https://ithelp.ithome.com.tw/upload/images/20201005/20129236o19JOjeas8.png

  1. 執行完成後可以到 S3 查看是否有正常產生出單一 User 喜歡購買的前五名商品清單

https://ithelp.ithome.com.tw/upload/images/20201005/20129236JrfQAXwXAE.png


上一篇
Day 20 Glue ETL Job 教學 - Python Shell - Part 2
下一篇
Day 22 Glue Workflows 教學 - Part 2
系列文
AWS 數據處理與分析實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言