我想問一般來說在做ETL架構是
S3 Data Lake > Crawlers > Data Catalog > Athena
那我可以改成 S3 Data Lake > Glue job > Athena 嗎?
在 S3 Data Lake > Crawlers > Data Catalog > Athena 這個作業流程中:
- S3 負責存儲數據
- Crawler 負責分析 S3 中數據的 Schema
- Data Catalog 負責存儲 Crawler 分析出的數據 Schema
- Athena 負責根據 Data Catalog 中保存的數據 Schema 對數據進行查詢
如果您希望將流程變更為 s3 Data Lake > Glue job > Athena,那麼您需要確保您已經知道 S3 中保存的數據的 Schema 才可以在 Glue Job 中進行處理。Glue Job 本質上是 spark 程序,其主要作用是對數據進行轉換,清洗等操作,與 Crawler 所提供的功能並不相同,因此無法用 Glue Job 替換 Crawler 這個部分。在使用 Glue Job 的情況下通常的作業流程會是如下所示:
------------------------------------------------------
s3 Data Lake > Crawlers > Data Catalog > Glue Job
------------------------------------------------------