02/01 2021

【AWS數據戰情室】Day1 資料處理的相關服務

AWS 資料處理的相關服務

AWS 上有需多數據處理與分析的服務,常見的如 Glue、Athena、Redshift 等,我們將介紹如何在 AWS 上進行數據處理與分析,以及使用時常見問題與相對解決方法,最後透過實作範例,降低大家在 AWS 數據處理與分析的門檻。第一天,先來介紹 AWS 上常見的資料處理服務有哪些,以及在什麼情況下適合使用。

常見AWS資料處理服務:

1. Lambda
如果資料處理的流程非常簡單,建議使用 Lambda,這項服務可以讓您用熟悉的語言進行開發,減少開發時間。

2. Glue
當您今天需要分散式的 ETL 運算,或是長時間的程式運算處理,例如 Lambda 的計算量不夠或是計算時間無法在 15 分鐘內完成時,可以考慮 Glue 的 ETL 服務。

3. Athena
當您今天想要透過 SQL 語法進行資料分析時,可以使用 Athena。 Athena 非常適合想要快速分析一份資料或是快速產生一份 Report ,又不想透過程式進行時使用。

4. Redshift
當今天資料量與筆數非常龐大或是 SQL 的計算比較複雜,則比較適合使用 Redshift,Redshift 的 SQL 查詢有進行優化,可以查詢 TB 甚至是 PB 級的資料量,也因為分散式的架構可讓您快速地查詢出所需要的資料結果。

資料處理流程:

初步了解可用的 AWS 服務後,接下來就要建構資料處理的流程,假設每五分鐘有一個的 log 檔存入 S3,那可能需要在每個 log 檔產生時,透過 S3 event 呼叫 Lambda 進行初步的資料清洗,或是透過 Glue 定時對前一天的所有 log 檔進行資料清洗。

而清洗方式會根據之後的分析應用而有所不同,如果已經確定分析時所產生的報表內容,那可以在資料清洗時只留下報表所需的資訊,加快報表產生的速度;如果還在資料探索階段,則可以只將不正確或不完整的資料去除,留下完整的原始資料。

清洗完成後,再透過 Athena 或 Redshift 進行分析,產出所需的報表,若分析量較大時,可以使用 Redshift;分析量較小,或只需要分析部分資料時,則可以選用 Athena。

在資料處理的流程中,您可以依照不同情境與需求選擇服務,透過最適合的服務,讓您更快地達到所需要的目的,並且平衡所需要的成本。

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

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