AWS Glue 功能

為什麼選擇 Glue?

AWS Glue 是一種無伺服器、可擴展的資料整合服務,可讓您更輕鬆地探索、準備、移動和整合來自多個來源的資料,以進行分析、機器學習和應用程式開發。AWS Glue 提供資料整合所需的所有功能,因此,您可以取得洞見,並在數分鐘內而非數月將資料投入使用。使用 AWS Glue,無須設定或管理任何基礎設施。您只需支付執行任務時使用的資源費用。

Discover

AWS Glue Data Catalog 是您所有資料資產的持久性中繼資料存放區,無論資料位於何處。資料型錄包含表格定義、任務定義、結構描述和其他控制資訊,可協助您管理 AWS Glue 環境。它會自動運算統計值和註冊分割,以有效且經濟實惠的方式針對您的資料進行查詢。還會維護一份完整的結構描述版本歷史,讓您了解資料隨時間的變更情況。

AWS Glue 爬蟲程式會連線至您的來源或目標資料存放區,依序處理已排定優先順序的分類器清單以判斷資料的結構描述,然後在 AWS Glue Data Catalog 建立中繼資料。中繼資料存放在 Data Catalog 的資料表中,並在擷取、轉換和載入 (ETL) 任務的編寫程序使用。您可以依排程或隨需執行爬蟲程式,也可以根據事件觸發,以確保中繼資料是最新狀態。

AWS Glue 結構描述登錄檔是 AWS Glue 的一種無伺服器功能,讓您能夠使用已註冊的 Apache Avro 結構描述來驗證和控制串流資料的演變,而無需額外付費。透過 Apache 授權的序列化程式和還原序列化程式,AWS Glue Schema Registry 可與為 Amazon Managed Streaming for Apache Kafka (Amazon MSK)Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache FlinkAWS Lambda 開發的 Java 應用程式整合。將資料串流應用程式與 AWS Glue Schema Registry 整合後,您可以利用控管結構描述演變的相容性檢查,以提高資料品質並防止意外變更。此外,您可以使用登錄檔內儲存的結構描述建立或更新 AWS Glue 資料表和分區。

Auto Scaling 是 AWS Glue 中的一項無伺服器功能,可根據工作負載動態地向上和向下擴展資源。使用 Auto Scaling,您的任務僅在需要時才分配給工作者。隨著任務的進行,它會進行進階轉換,AWS Glue 會根據它可以拆分工作負載的程度來新增和移除資源。您不再需要擔心過度佈建資源、花時間最佳化工作者數量或為空閒資源付費。

準備

AWS Glue 可協助您清潔和準備資料以進行分析,而無須成為 ML 專家。其 FindMatches 功能可消除重複資料,並尋找彼此不完全相符的紀錄。例如,使用 FindMatches 在您的資料庫中尋找重複記錄,比方說,有一筆記錄列出地址為 “121 Main St.” 的 “Joe's Pizza”,另一筆記錄顯示 “Joseph's Pizzeria” 的地址為 “121 Main” 時。 FindMatches 會請您將一組記錄標記為 “matching” (相符) 或 “not matching” (不相符)。 然後這個系統就會學習您的標準,將一組記錄稱為 “match” (比對相符),然後建置 ETL 任務,以用於尋找資料庫中的重複記錄,或在兩個資料庫間比對相符的記錄。

如果您選擇以互動方式開發 ETL 程式碼,AWS Glue 會提供開發端點讓您編輯、偵錯和測試為您產生的程式碼。您可以使用您最喜愛的整合式開發環境 (IDE) 或筆記型電腦。您可以撰寫自訂讀取程式、寫入程式或轉換,並將它們匯入 AWS Glue ETL 任務做為自訂程式庫。您也可以在我們的 GitHub 儲存庫使用並與其他開發人員共享程式碼。

AWS Glue DataBrew 為資料分析人員和資料科學家等使用者提供一個點按式互動視覺化界面,無需編寫程式碼即可清理和標準化資料。您可以直接從資料湖、資料倉儲和資料庫 (Amazon Simple Storage Service (Amazon S3)、Amazon Redshift、Amazon Aurora 和 Amazon Relational Database Service (Amazon RDS)) 輕鬆地視覺化、清理和標準化資料。您可以從 250 多種內建轉換中進行選擇,以合併、旋轉和轉置資料,並可透過直接將儲存的轉換套用於傳入的新資料,自動執行資料準備任務。

AWS Glue 敏感資料偵測可協助您定義、識別和處理資料管道和資料湖中的敏感資料。識別後,您可以透過編輯、取代或報告個人身分識別資訊 (PII) 資料和其他類型的敏感資料來修復敏感資料。AWS Glue 敏感資料偵測簡化了敏感資料的識別和遮罩,包括姓名、社會安全號碼、地址、電子郵件和駕照等 PII。

開發人員喜歡 Python,因為其易於使用且內建豐富的資料處理程式庫。他們希望使用熟悉的 Python 原始類型來處理大型資料集。AWS Glue for Ray 協助資料工程師使用 Python 和常用的 Python 程式庫來處理大型資料集。AWS Glue for Ray 使用 Ray.io,這是一種開放原始碼統一運算架構,可協助將 Python 工作負載從單一節點擴展至數百個節點。AWS Glue for Ray 無伺服器,因此不需要管理基礎設施。

AWS Glue 可協助您建立自訂視覺轉換,以便您可以定義、重複使用和共用 ETL 邏輯。 藉助 AWS Glue Custom Visual Transforms,資料工程師可以編寫和共用業務特定的 Apache Spark 邏輯,從而減少對 Spark 開發人員的依賴,並且更輕鬆地使 ETL 任務保持最新狀態。無論是視覺化還是以程式碼為基礎,這些轉換適用於 AWS 帳戶中的所有任務。

整合

AWS Glue 互動式工作階段是任務開發的無伺服器功能,可簡化資料整合任務的開發。使用 AWS Glue 互動式工作階段,資料工程師能夠以互動方式探索和準備資料。工程師還可使用他們選擇的 IDE 或筆記本以互動方式探索、實驗和處理資料。

AWS Glue Studio 任務筆記本提供了在 AWS Glue Studio 中進行極少設定的無伺服器筆記本,因此開發人員可以快速入門。使用 AWS Glue Studio 任務筆記本,您可以存取內建介面來處理 AWS Glue 互動式工作階段,以儲存您的筆記本程式碼並將其排程為 AWS Glue 任務。

您可以依排程、隨需或根據事件叫用 AWS Glue 任務。您可以平行啟動多個任務,或指定任務間的相依性以建立複雜的 ETL 管道。AWS Glue 會處理所有任務間的相依性、篩選不良資料,並在任務失敗時重試。所有日誌和通知都會推送到 Amazon CloudWatch,讓您從一個集中的服務監控和取得提醒。

AWS Glue 與廣泛使用的開放原始碼版本控制系統 Git 整合。您可以使用 GitHubAWS CodeCommit 來維護對 AWS Glue 任務做出變更的歷史記錄,並套用現有的 DevOps 實務來對其進行部署。AWS Glue 中的 Git 整合適用於所有 AWS Glue 任務類型,無論是視覺化還是以程式碼為基礎。其包括與 GitHub 和 CodeCommit 的內建整合,還可更輕鬆地使用 JenkinsAWS CodeDeploy 等自動化工具來部署 AWS Glue 任務。

AWS Glue Flex 是一個靈活的執行任務類別,允許您將非緊急資料整合工作負載 (例如預生產任務、測試和資料負載等) 的成本降低 35%。AWS Glue 有兩個任務執行類別:標準和靈活。標準執行類別非常適合需要快速任務啟動和專用資源的時間敏感型工作負載。AWS Glue Flex 適用於開始和完成時間可能變化的非時間敏感型任務。

AWS Glue 原生支援三種開放原始碼架構,包括 Apache Hudi、Apache Iceberg 和 Linux Foundation Delta Lake。這些架構可協助您以交易一致的方式管理資料,以便在以 Amazon S3 為基礎的資料湖中使用。

AWS Glue Data Quality 可協助您提升資料品質和信心。它會自動測量、監控和管理資料湖和管道中的資料品質。它還會自動計算統計資料、推薦品質規則、進行監控,並在品質下降時向您發出提醒,從而在影響您的企業之前更輕鬆地識別遺失、陳舊或不良資料。

轉換

AWS Glue Studio 允許您編寫高度可擴展的 ETL 任務以進行分散式處理,而無須成為 Apache Spark 專家。在拖放任務編輯器中定義您的 ETL 程序,AWS Glue 則會自動產生程式碼以擷取、轉換和載入資料。此程式碼以 Scala 或 Python 產生,針對 Apache Spark 撰寫。

AWS Glue 中的無伺服器串流 ETL 任務持續取用包括 Amazon Kinesis 和 Amazon MSK 在內的串流來源中的資料,對資料進行即時清除和轉換,並使其在幾秒內即可用於在您的目標資料存放區中進行分析。使用這項功能處理 IoT 事件串流、點擊流和網路日誌等事件資料。AWS Glue 串流 ETL 任務可豐富和彙總資料,聯結批次和串流來源,以及執行各種複雜分析和機器學習操作。