談到ETL(Extract, Transform, Load),就不能不提到AWS Glue。簡單來看,Glue有兩個主要功能:
1. Glue Crawler
Glue Crawler會拆解資料,並辨識資料的Schema,建立所謂的Glue Data Catalog來收納這些自動化辨識的資料schema。有了這個工具,我們就可以更簡便的來檢視資料的schema。
Q:Glue Crawler可在哪些資料儲存環境去運行呢?
A:Glue Crawler可運行在S3、Amazon Redshift、Amazon RDS。
Q:Glue Crawler適用在哪一些資料格式上呢?
A:JSON、CSV Parquet relational data都可適用。
Q:得到Glue Data Catalog後,可以用來串接哪一些服務呢?
A:所得Schema可供串接Athena、Redshift與EMR做使用。
EMR是什麼呢?
ChatGPT詞彙解釋:
"AWS EMR(Amazon Elastic MapReduce)是亞馬遜雲計算服務(Amazon Web Services,AWS)提供的一項托管式大數據處理服務。它旨在幫助開發人員和數據工程師輕鬆地處理和分析大規模數據集,尤其是在處理與分析大數據時非常有用。"
2. Glue ETL
Glue ETL,顧名思義,可幫助我們完成資料的處理程序。
Q:Glue ETL可用來完成哪一些資料處理程序呢?
A:以下都是Glue ETL可以做的事情:
Q:在Glue ETL,我們可用哪些程式語言來編輯資料處理程序?
A:Python或者Scala都可以
Q:Glue ETL可以針對放在哪邊的資料來做處理?
A:S3、JDBC (RDS, Redshift)、Glue Data Catalog都可以喔
Q:如何讓Glue ETL運行?
A:我們可透過排程或者事件偵測來觸發ETL的程序。程序背後運算是基於Serverless Spark來運作。