07/07 2021

【AWS 數據戰情室】Day 19 Glue ETL Job 教學-Python Shell-Part 1

AWS glue etl job Python Shell設定

Glue ETL Job 中 除了 Spark 可以使用之外,還可以使用 Python Shell 進行 ETL 的處理,Python Shell 裡已經包含了 Pandas 的 Library 可以直接使用,接下來會透過 Python Shell 的方式計算出每個 User 購買前五多的商品。

1. 資料源一樣使用 Day 14 所創建好的資料源

AWS glue etl job Python Shell設定資料源

2. 創建要 import 的 Library 設定檔,Python Shell 需要使用 .egg 或 .whl 安裝所需要的 Library,首先創建一個資料夾並在裡面產生 setup.py,內容如下:

AWS數據分析 glue etl job library設定檔

3. 創建完成後執行 python3 setup.py bdist_egg,執行完成後你會發現多出了三個資料夾(build、dist、python_shell_s3fs.egg-info),請將 dist 中的 python_shell_s3fs-0.1-py3.6.egg 上傳到 S3 備用,我將它放在 s3://it.sample.s3/lib/python_shell_s3fs-0.1-py3.6.egg

4. 創建 Glue Job

AWS數據分析 glue etl job

5. 設定 Python Shell, IAM role 我們一樣使用 Day 10 創建的 Role(ITGlue)。

*Type:Type 的部分這次我們選 Python Shell
*Python version:Python 版本我們選 Python3
*This job runs:這部分我們選 A new script to be authored by you,代表我們要創建一個新的 Python Shell 而不是使用既有的程式碼

再往下看到 Security configuration, script libraries, and job parameters (optional) 的部分
*Python library path:這邊填入剛剛上傳到 S3 的 .egg 檔路徑(s3://it.sample.s3/lib/python_shell_s3fs-0.1-py3.6.egg)
*Maximum capacity:使用的運算規格我們直接調到最大 1

以上設定完成就可以點選下一步

AWS數據分析 glue etl job

6. Connections 的的部分保持預設,接著點選 Save job edit script

AWS數據分析 glue etl job

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

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