關於 AWS Glue 你所不知道的事
已發表: 2022-10-18Amazon Glue 越來越受歡迎,因為許多公司已經開始使用託管數據集成服務。
ETL 是將數據從源數據庫傳輸到數據倉庫的過程。 由於其複雜性,ETL 很複雜,難以對所有企業數據實施。 亞馬遜推出了 AWS Glue 來解決這個問題。
ETL 開發人員和數據工程師使用 Glue 來構建、監控和運行 ETL 工作流。
什麼是 AWS Glue?
AWS Glue 是一種無服務器數據集成服務,可讓您輕鬆查找、準備、移動和集成來自多個來源的數據。 這對於機器學習 (ML) 和分析很有用。
它大大減少了為分析準備數據所需的時間。 它會自動查找並列出數據,生成 Scala 或 Python 代碼以從源傳輸數據,並根據定時事件加載和轉換作業。
這允許靈活調度並創建一個 Apache Spark 環境,該環境可以針對目標數據加載進行擴展。 此外,AWS Glue 提供複雜的數據流監控和更改。 AWS Glue 是一種無服務器服務,可簡化應用程序開發的複雜操作。
它允許快速集成多個有效數據。 它還可以快速分解和授權數據。
AWS Glue 有什麼用途?
了解使用 Amazon Glue 的最佳位置非常重要。 這些只是您應該考慮的 AWS Glue 使用的幾個示例。
- Amazon Glue 是一種工具,可讓您在 Amazon S3 數據湖上運行無服務器查詢。
- Amazon Glue 是幫助您入門的絕佳工具。 它使您可以在一個界面上訪問所有數據,讓您無需移動即可對其進行分析。
- Amazon Glue 可用於了解您的數據資產。 Amazon Glue 使您可以使用數據目錄輕鬆搜索不同的 AWS 數據集。 您還可以使用 Data Catalog 跨多個 AWS 服務保存數據,同時仍然擁有一致的視圖。
- Glue 在構建事件驅動的 ETL 工作流時會很有幫助。 您可以通過 AWS Lambda 服務調用 Glue ETL 任務,從 Amazon S3 執行 ETL 操作。
- AWS Glue 還可用於清理、驗證、格式化和組織數據以存儲在數據湖或倉庫中。
AWS Glue 的組件
以下是 AWS Glue 的主要組件:
- 數據目錄:此數據目錄包含元數據和數據結構。
- 數據庫:這是訪問和創建源和目標數據庫的關鍵。
- 表:在數據庫中創建一個或多個表,目標和源都可以使用。
- 爬蟲和分類器:爬蟲通過使用內置或自定義分類從源檢索數據。 它在數據目錄中創建/使用預定義的元數據表。
- 工作:這是執行 ETL 任務的業務邏輯工作。 此業務邏輯由 Apache Spark 在內部使用 python 和 scala 語言編寫。
- 觸發器: ETL 觸發器是按需或在特定時間啟動執行 ETL 作業的設備。
- 開發端點:這將創建一個環境,在該環境中測試、開發和調試 ETL 作業腳本。
AWS Glue 的優勢
這些是在您的工作場所或組織內使用它的好處。
- AWS Glue 使用爬網程序掃描所有可用數據。
- 最終處理的數據可以存儲在許多地方(Amazon RDS 和 Amazon Redshift、Amazon S3 等)。
- 它是一種基於雲的服務。 無需在本地基礎設施上花錢。
- 因為它是一個無服務器 ETL,所以它是一個具有成本效益的選擇。
- 它很快。 它立即為您提供 Python/Scala ETL 代碼。
AWS Glue 的主要功能
Amazon Glue 具有集成數據所需的所有功能,因此您可以獲得更好的見解並利用您的知識在幾分鐘而不是幾個月內取得新進展。 以下是您應該了解的一些功能。
- 拖放界面:拖放作業編輯器允許您創建 ETL 流程。 AWS Glue 將立即構建提取、轉換和上傳數據所需的代碼。
- Automatic Schema Discovery:要創建連接到不同數據源的爬蟲,您可以使用 Glue 服務。 它組織數據並提取相關信息。 這些數據隨後可用於通過 ETL 任務監控 ETL 過程。
- 作業調度:膠水可以按需使用,也可以根據預定的時間表使用。 調度程序可用於構建複雜的 ETL 管道,建立任務之間的依賴關係。
- 代碼生成: Glue Elastic Views 允許您輕鬆創建物化視圖,這些視圖可以組合和復制來自不同數據源的數據,而無需編寫任何專有代碼。
- 內置機器學習: Glue 帶有一個名為“FindMatches”的內置機器學習功能。 它會刪除彼此不完美副本的記錄。
- 開發人員端點:如果您想積極開發 ETL 代碼,Glue 提供開發人員端點,允許您修改、調試和測試它創建的代碼。
- Glue DataBrew:它是一種數據準備工具,數據分析師和數據科學家可以使用它來幫助他們清理和規範化數據。 它使用 Glue DataBrew 的活動和可視界面。
AWS Glue 定價如何運作?
AWS Glue 按小時收費,對於爬網程序(發現數據)和 ETL 作業(處理和加載數據)按每秒計費。 訪問和存儲 AWS Glue 數據目錄中的元數據需要支付簡單的月費。
Amazon Glue 起價為 0.44 美元。 您可以從四個計劃中進行選擇:
- ETL 任務、開發端點和其他 ETL 任務的價格為 0.44 美元
- Crawlers Interactive Sessions 的售價為 0.44 美元
- DataBrew 工作起價為 0.48 美元
- 每月存儲和請求數據目錄的費用為 1.00 美元
AWS 不提供免費的 Glue 計劃。 每個 DPU 每小時將花費 0.44 美元。 平均而言,這將花費您每天 21 美元。 價格可能因您居住的地方而異。
設置 AWS Glue 的步驟
數據目錄可用於快速查找和搜索多個 AWS 數據集,而無需移動數據。 數據編目後,可立即使用 Amazon Athena 和 Amazon EMR 進行查詢和搜索。

- Amazon Redshift、Amazon S3、Amazon RDS 和 Amazon EC2 上的數據庫 – 發現您的數據、存儲元數據並使用 AWS Glue 數據目錄來發現它們
- AWS Glue 數據目錄 – 使用數據目錄作為元數據的中央存儲庫來管理數據
- AWS Glue ETL – 讀取元數據並將其寫入您的數據目錄
- Amazon Athena 和 Amazon Redshift、Amazon EMR、Amazon ETL – 獲取用於 ETL、分析等的數據目錄。
- Amazon QuickSight – 使用 Amazon QuickSight 和其他商業智能工具運行報告
如何設置 AWS Glue?
首先,登錄 AWS 管理控制台並打開 IAM 控制台。 單擊創建角色。 然後對於角色類型,找到 Glue,然後選擇Permissions 。
我選擇AWSGlueServiceRole獲得一般 AWS Glue Studio 和 AWS Glue 權限,選擇 AWS 託管策略 AmazonS3FullAccess 訪問 Amazon S3 資源。

輸入角色名稱。

單擊創建角色。

創建一個 Amazon S3 存儲桶。


在 S3 存儲桶內創建一個文件夾。

選擇要上傳的文件。


最後,上傳bucket中的文件。

接下來,從 AWS 管理控制台打開 AWS Glue 並創建一個數據庫。

現在您在 AWS Glue 中有一個數據庫,請創建一個爬網程序。

在數據源中,選擇您創建的 S3 存儲桶。

接下來,為您在開始時創建的 AWS Glue 選擇 IAM 角色。

最後,在輸出中,選擇您創建的gluedb
。

查看所有設置並創建爬蟲。

創建爬蟲後,選擇它並單擊運行。 一段時間後,您將準備好狀態。

通過運行爬蟲,數據庫將獲得一個包含 CSV 文件中所有數據的表。

當您單擊查看數據時,您將被帶到 Amazon Athena(查詢編輯器)。 運行查詢時,您可以看到表數據。

現在,您可以在任何 ETL 作業中成功使用此 AWS Glue 爬網程序。
什麼是 AWS Glue Databrew?
AWS Glue DataBrew 允許用戶在不編寫任何代碼的情況下規範化和清理數據。 與定制開發的數據準備相比,DataBrew 可以將準備用於機器學習和分析的數據所需的時間減少多達 80%。
有超過 250 種預製數據轉換可用於自動執行數據準備任務,例如過濾異常、更正無效值以及將數據轉換為標準格式。
DataBrew 使數據科學家、業務分析師和工程師可以更輕鬆地協作從原始數據中提取見解。 DataBrew 是無服務器的,因此您無需管理基礎架構或創建集群來探索和轉換價值 TB 的原始數據。
適用於企業的 DataBrew 功能
可視化數據準備
DataBrew 是一種查看數據的不同方式,這些數據通常在列式數據庫中以字母數字形式查看。 DataBrew 可視化所有加載的數據源,以幫助您了解數據關係和層次結構。
250 多種數據準備自動化
作為工作的一部分,預計數據科學家將遵循各種可重複的、孤立的工作流程。 AWS 將這些工作流程和流程建模為與語言和數據無關的模塊模塊。 該庫包含最終用戶可以使用的操作。
數據沿襲
與用於跟踪 IT 網絡的 IT 網絡中的客戶活動的審計日誌類似,數據沿襲允許您跟踪 AWS DataBrew 中的數據轉換活動。 此信息包括數據源、應用的轉換和數據輸出,包括目標位置。
數據映射
Databrew 允許您在兩個數據源中查找匹配的字段。 一旦識別出匹配的字段,就可以將它們加載到模式中。
AWS Glue DataBrew:優勢
以下是 AWS Glue DataBrew 的功能:
- 降低數據準備的准入門檻
- 自動數據配置文件生成
- 自動化 250 多個數據準備流程
- 智能處方建議
AWS Glue 的替代品
空氣流動

Airflow 屬於技術堆棧的 Workflow Manager 部分。 它是一個開源工具,支持 GitHub 星星、GitHub 分叉和其他功能。 Airflow 允許您使用有向無環圖 (DAG) 創建工作流。 氣流調度程序使用一組工作人員並遵循指定的依賴項來執行您的任務。
馬蒂利翁

Matillion ETL 是一種 ETL/ELT 工具,專為 Amazon Redshift 和 Google BigQuery 等雲數據庫平台而設計。 它是一個基於瀏覽器的現代 UI,具有強大的下推 ETL/ELT 功能。 通過快速設置,您可以在幾分鐘內啟動並運行。
縫
Stitch 是一種開源 ETL 服務,可連接多個數據源並將數據複製到首選目的地。 它非常易於使用,因為您不需要任何編碼知識即可在 Stitch 中的源和目標之間移動數據。 它易於使用,具有友好的 GUI,而且速度很快。
與其他 ETL 工具不同,Stitch 不允許您選擇預製儀表板。 相反,您必須將數據集成到您選擇作為目標的開放數據倉庫中。 瀏覽庫存可能很困難。
奧特里克斯

Alteryx 是一個分析自動化平台,可協助數據收集準備和混合。 這些數據可用於加快流程並提供業務洞察力。 因為它是一個拖放工具,所以您不需要任何編程知識。 Alteryx 是向行業專業人士尋求建議和答案的好地方。
結論
這就是 AWS Glue 的全部內容,它是一種基於雲的解決方案,允許您使用 ETL 管道。 總而言之,AWS Glue 用戶交互過程由三個階段組成。 要創建數據目錄,首先要使用數據爬蟲。 接下來,您將創建 AWS 數據管道所需的 ETL 代碼。 最後,創建 ETL 計劃。 我希望這篇博客能讓您對 Amazon Glue 有一個很好的了解。
您還可以探索保護 AWS S3 存儲的最佳技巧。