一般
問:什麼是 AWS Glue?
AWS Glue 是一種無伺服器資料整合服務,可輕鬆探索、準備和合併資料,用於分析、機器學習及應用程式開發。 AWS Glue 提供資料整合所需的所有功能,因此,您可以開始分析資料並在數分鐘內而非數月投入使用。AWS Glue 為您提供視覺化界面和程式碼界面,讓您可以輕鬆整合資料。使用者可使用 AWS Glue 資料型錄輕鬆尋找並存取資料。只需在 AWS Glue Studio 上按幾下,資料工程師和 ETL (擷取、轉換和載入) 開發人員就可以視覺化方式建立、執行和監控 ETL 工作流程。資料分析師和資料科學家可以使用 AWS Glue DataBrew 以視覺化方式豐富、清理和標準化資料,而無需編寫程式碼。
問:如何開始使用 AWS Glue?
若要開始使用 AWS Glue,只要登入 AWS 管理主控台,然後導覽到 "Analytics" 類別下的 "Glue" 即可。您可以遵循我們的引導教學進行,這些教學會逐步說明 AWS Glue 的範例使用案例。您也可以在 AWS 實驗室下的 GitHub 資料儲存器找到範例 ETL 程式碼。
問:AWS Glue 有哪些主要元件?
AWS Glue 包含資料型錄 (一種中央中繼資料儲存庫)、ETL 引擎 (可自動產生 Scala 或 Python 程式碼)、靈活排程器 (處理相依性解決方案、任務監控和重試) 和 AWS Glue DataBrew (用於透過視覺化界面清理和標準化資料)。這些元件的結合可自動化大部分涉及探索、分類、清理、充實和移動資料等無差別繁重工作,讓您將更多時間花在分析資料上。
問:何時應該使用 AWS Glue?
您應該使用 AWS Glue 探索您擁有的資料屬性、轉換該資料,並做好分析的準備。Glue 可自動探索存放在 Amazon S3 資料湖、Amazon Redshift 資料倉儲,以及在 AWS 上執行之各種資料庫的結構化和半結構化資料。它透過可使用 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 等服務進行 ETL、查詢和報告的 Glue 資料型錄提供統一的資料檢視。Glue 會自動為 ETL 任務產生 Scala 或 Python 程式碼,讓您使用已熟悉的工具進一步自訂各個項目。 您可以使用 AWS Glue DataBrew 以視覺化方式清理和標準化資料,而無需編寫程式碼。
問:AWS Glue 支援哪些資料來源?
AWS Glue 原生支援存放在 Amazon Aurora、Amazon RDS for MySQL、Amazon RDS for Oracle、Amazon RDS for PostgreSQL、Amazon RDS for SQL Server、Amazon Redshift、DynamoDB 和 Amazon S3 中的資料,以及 Amazon EC2 上執行之 Virtual Private Cloud (Amazon VPC) 中的 MySQL、Oracle、Microsoft SQL Server 和 PostgreSQL 資料庫。AWS Glue 還支援 Amazon MSK、Amazon Kinesis Data Streams 及 Apache Kafka 的資料串流。
您也可以撰寫自訂 Scala 或 Python 程式碼以及將自訂程式庫和 Jar 檔匯入 AWS Glue ETL 任務,以存取不受 AWS Glue 原生支援的資料來源。如需匯入自訂程式庫的詳細資訊,請參閱我們的文件。
問:AWS Glue 與 AWS Lake Formation 有何關聯?
答:Lake Formation 與 AWS Glue 使用相同的基礎設施,包括主控台控制、ETL 程式碼建立和任務監控、通用資料目錄和無伺服器架構。AWS Glue 仍然專注於這些類型的功能,但 Lake Formation 不但涵蓋了 AWS Glue 功能,還提供了旨在幫助建置、保護和管理資料湖的其他功能。請參閱 AWS Lake Formation 頁面,以了解詳細資訊。
AWS Glue 資料型錄
問:什麼是 AWS Glue 資料型錄?
AWS Glue 資料型錄是集中化的資料儲存器,可存放所有資料資產的結構化和操作中繼資料。您可以存放特定資料集的表格定義、實體位置、新增商業相關屬性,以及追蹤這類資料如何隨著時間改變。
AWS Glue 資料型錄與 Apache Hive 中繼存放區相容,且是 Amazon EMR 上執行之大數據應用程式 Apache Hive 中繼存放區的便利替代方案。如需設定 EMR 叢集以使用 AWS Glue 資料型錄做為 Apache Hive 中繼存放區的詳細資訊,請按一下這裡。
AWS Glue 資料型錄還提供立即可用的 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 整合。將表格定義新增到 Glue 資料型錄之後,就可用來進行 ETL,也可在 Amazon Athena、Amazon EMR 和 Amazon Redshift Spectrum 中輕鬆查詢,讓您在這些服務之間以通用的方式檢視資料。
問:如何將中繼資料填入 AWS Glue 資料型錄?
AWS Glue 提供多種方式將中繼資料填入 AWS Glue 資料型錄。Glue 網路爬取程式可掃描您擁有的各種資料存放區,以自動推斷結構描述和分割結構,並將對應的表格定義和統計資料填入 Glue 資料型錄。您也可以將網路爬取程式排定為定期執行,讓您的中繼資料永遠保持最新狀態並與基礎資料保持同步。或者,使用 AWS Glue 主控台或呼叫 API 手動新增和更新表格詳細資訊。您也可以透過 Amazon Athena 主控台或 Amazon EMR 叢集的 Hive 用戶端執行 Hive DDL 陳述式。最後,如果您已經有持久性 Apache Hive 中繼存放區,可使用我們的匯入指令碼將該中繼資料大批匯入 AWS Glue 資料型錄。
問:什麼是 AWS Glue 網路爬取程式?
AWS Glue 網路爬取程式會連接到資料存放區,依序處理已排定優先順序的分類器清單以擷取資料的結構描述和其他統計資料,然後將此中繼資料填入 Glue 資料型錄。網路爬取程式可定期執行以偵測是否有可用的新資料以及表格定義變更等現有資料變更。網路爬取程式會自動新增表格、現有表格的新分區,以及新的表格定義版本。您可以自訂 Glue 網路爬取程式以分類自己的檔案類型。
問:如何將資料從現有的 Apache Hive 中繼存放區匯入 AWS Glue 資料型錄?
只要執行從 Apache Hive 中繼存放區讀取的 ETL 任務、將資料匯出成 Amazon S3 的中繼格式,然後將該資料匯入 AWS Glue 資料型錄即可。
問:如果將中繼資料存放在 AWS Glue 資料型錄,是否還需要保留 Apache Hive 中繼存放區?
否。AWS Glue 資料型錄與 Apache Hive 中繼存放區相容。您可以指向 Glue 資料型錄端點,然後使用它做為 Apache Hive 中繼存放區替代方案。如需如何設定叢集以使用 AWS Glue 資料型錄做為 Apache Hive 中繼存放區的詳細資訊,請參閱我們這裡的文件。
問:如果我已經使用 Amazon Athena 或 Amazon Redshift Spectrum,而且在 Amazon Athena 內部資料型錄中擁有表格,如何開始使用 AWS Glue 資料型錄做為通用中繼資料的資料儲存器?
開始使用 AWS Glue 資料型錄做為 Amazon Athena、Amazon Redshift Spectrum 和 AWS Glue 間通用中繼資料的資料儲存器之前,必須先將 Amazon Athena 資料型錄升級為 AWS Glue 資料型錄。請參閱這裡以取得升級所需的詳細步驟。
問:哪些分析服務會使用 AWS Glue 資料型錄?
存放在 AWS Glue 資料型錄的中繼資料可從 Glue ETL、Amazon Athena、Amazon EMR、Amazon Redshift Spectrum 及第三方服務輕鬆存取。
AWS Glue 結構描述登錄檔
問:什麼是 AWS Glue 結構描述登錄檔?
AWS Glue 結構描述登錄檔是 AWS Glue 的一種無伺服器功能,讓您能夠使用以 Apache Avro 和 JSON 結構描述格式註冊的結構描述來驗證和控制串流資料的演變,而無需額外付費。透過 Apache 授權的序列化程式和還原序列化程式,結構描述登錄檔可與為 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)、Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache Flink 和 AWS Lambda 開發的 Java 應用程式整合。將資料串流應用程式與結構描述登錄檔整合後,您可以利用控管結構描述演變的相容性檢查,以提高資料品質並防止意外變更。此外,您可以使用登錄檔內儲存的 Apache Avro 結構描述建立或更新 AWS Glue 資料表和分區。
問:為何我應該使用 AWS Glue 結構描述登錄檔?
使用 AWS Glue 結構描述登錄檔,您可以:
- 驗證結構描述。資料串流應用程式與 AWS Glue 結構描述登錄檔整合時,會根據中央登錄檔內的結構描述驗證用於資料生產的結構描述,可讓您集中控制資料品質。
- 保障結構描述演進。您可以設定有關結構描述能夠/無法使用 8 個相容性模式之一演進的規則。
- 提升資料品質。序列化程式會根據登錄檔中儲存的資料驗證資料生產程式所用的結構描述,並在產生資料時提升資料品質,並降低意外結構描述偏離帶來的下游問題。
- 節省成本。序列化程式將資料轉換為二進位格式,且可在遞送前現壓縮,從而降低資料傳輸和儲存成本。
- 提升處理效率。在許多情況下,資料串流包含不同資料結構的記錄。結構描述登錄檔可讓從資料串流讀取資料的應用程式根據結構描述選擇性地處理每筆記錄,而不必剖析其內容,因而提高處理效率。
問:AWS Glue 結構描述登錄檔支援哪些資料格式、用戶端語言及整合?
結構描述登錄檔支援 Apache Avro 和 JSON 結構描述資料格式和 Java 用戶端應用程式。我們計劃繼續擴展支援其他資料格式和非 Java 用戶端。結構描述登錄檔可與為 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK)、Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache Flink 和 AWS Lambda 開發的應用程式整合。
問:AWS Glue 結構描述登錄檔支援哪類演進規則?
以下相容性模式可供您用來管理結構描述演進:Backward、Backward All、Forward, Forward All、Full、Full All、None 和 Disabled。請參閱結構描述登錄檔使用者文件,以進一步了解相容性規則。
問:AWS Glue 結構描述登錄檔如何保持我應用程式的高可用性?
結構描述登錄檔儲存和控制面板針對高可用性而設計,且受 AWS Glue SLA 支援,序列化程式和去序列化程式利用最佳實務快取技術,最大限度提升用戶端內的結構描述可用性。
問:AWS Glue 結構描述登錄檔是否為開放原始碼?
AWS Glue 結構描述登錄檔儲存是一種 AWS 服務,而序列化和去序列化程式為 Apache 授權的開放原始碼元件。
問:AWS Glue 結構描述登錄檔提供靜態和動態加密?
是,您的用戶端透過 API 叫用與結構描述登錄檔通訊,API 叫用透過 HTTPS 使用 TLS 加密來動態加密資料。 結構描述登錄檔中儲存的結構描述始終使用服務管理的 KMS 金鑰靜態加密。
問:我如何以私有方式連接至 AWS Glue 結構描述登錄檔?
您可以透過為 AWS Glue 定義界面 VPC 端點,來使用 AWS PrivateLink 將資料生產程式的 VPC 連接至 AWS Glue。使用 VPC 界面端點時,VPC 與 AWS Glue 之間的通訊將完全在 AWS 網路中安全地進行。如需詳細資訊,請瀏覽使用者文件。
問:我如何監控 AWS Glue 結構描述登錄檔使用情況?
AWS CloudWatch 指標是 CloudWatch 免費方案的一部分。您可以在 CloudWatch 主控台中存取這些指標。如需詳細資訊,請瀏覽 AWS Glue 結構描述登錄檔使用者文件。
問:AWS Glue 結構描述登錄檔是否提供用於管理使用者授權的工具?
是,結構描述登錄檔支援資源層級權限和基於身分的 IAM 政策。
問:我如何從現有結構描述登錄檔遷移至 AWS Glue 結構描述登錄檔?
有關從第三方結構描述登錄檔遷移至 AWS Glue 結構描述登錄檔的步驟,可參考使用者文件。
擷取、轉換和載入 (ETL)
問:AWS Glue 是否具有適用於視覺化 ETL 的無程式碼界面?
是。AWS Glue Studio 提供用於編寫 Glue 任務以處理資料的圖形界面。在視覺化界面中定義資料來源、轉換和目標流程之後,AWS Glue Studio 會代您產生 Apache Spark 程式碼。
問:可使用哪些程式設計語言撰寫 AWS Glue 的 ETL 程式碼?
您可以使用 Scala 或 Python。
問:如何自訂 AWS Glue 產生的 ETL 程式碼?
AWS Glue 的 ETL 指令碼建議系統可產生 Scala 或 Python 程式碼。它利用 Glue 的自訂 ETL 程式庫簡化資料來源的存取和管理任務執行。您可以在我們的文件中了解更多有關程式庫的詳細資訊。您可以使用 AWS Glue 自訂程式庫撰寫 ETL 程式碼,或使用 AWS Glue 主控台指令碼編輯器的內嵌編輯,以 Scala 或 Python 撰寫任意程式碼,下載自動產生的程式碼,然後在自己的 IDE 進行編輯。您也可以使用 Github 資料儲存器託管的眾多範例,開始自訂程式碼。
問:是否可在 ETL 指令碼中匯入自訂程式庫?
是。您可以將自訂 Python 程式庫和 Jar 檔匯入 AWS Glue ETL 任務。如需詳細資訊,請參閱我們這裡的文件。
問:是否可使用我自己的程式碼?
是。您可以使用 AWS Glue ETL 程式庫撰寫自己的程式碼,或撰寫自己的 Scala 或 Python 程式碼並將其上傳到 Glue ETL 任務。如需詳細資訊,請參閱我們這裡的文件。
問:如何使用我自己的 IDE 開發 ETL 程式碼?
您可以建立並連接開發端點,以使用多種方法連接筆記本和 IDE。
問:如何使用 AWS Glue 中的多個任務建立端對端 ETL 工作流程?
除了 ETL 程式庫和程式碼產生,AWS Glue 還提供一組強大的協調功能,讓您管理多個任務間的相依性,以建立端對端 ETL 工作流程。AWS Glue ETL 任務可依排程或任務完成事件觸發。您可平行觸發多個任務,或根據任務完成事件依序觸發多個任務。也可從 AWS Lambda 函數等外部來源觸發一或多個 Glue 任務。
問:AWS Glue 如何監控相依性?
AWS Glue 使用觸發程式管理兩個以上任務之間的相依性或外部事件的相依性。觸發程式可監控一或多個任務,也可叫用一或多個任務。您可以使用定期叫用任務的已排程觸發程式、隨需觸發程式或任務完成觸發程式。
問:AWS Glue 如何處理 ETL 錯誤?
AWS Glue 會監控任務事件指標和錯誤,並將所有通知推送到 Amazon CloudWatch。使用 Amazon CloudWatch 可設定大量的動作,並根據 AWS Glue 的特定通知觸發這些動作。例如,您可以在收到來自 Glue 的錯誤或成功通知時觸發 AWS Lambda 函數。Glue 還會提供預設的重試行為,所有失敗重試三次之後才會傳送錯誤通知。
問:是否可在 AWS Glue 執行現有的 ETL 任務?
是。您可以在 AWS Glue 執行現有的 Scala 或 Python 程式碼。只要將程式碼上傳到 Amazon S3,然後建立使用該程式碼的一或多個任務即可。您可以將多個任務指向 Amazon S3 上的相同程式碼位置,就能在多個任務重複使用相同的程式碼。
問:如何使用 AWS Glue 來 ETL 串流資料?
AWS Glue 支援對 Amazon Kinesis Data Streams、Apache Kafka 及 Amazon MSK 串流執行 ETL。新增串流至 Glue 資料型錄,然後在設定 AWS Glue 任務時將其選擇為資料來源。
問:是否要同時使用 AWS Glue 資料型錄和 Glue ETL 才能使用此服務?
否。雖然我們相信同時使用 AWS Glue 資料型錄和 ETL 可提供端對端的 ETL 體驗,但您可以單獨使用其中一個,無須使用另一個。
問:AWS Glue 和 Amazon Kinesis Data Analytics 的使用時機分別為何?
AWS Glue 和 Amazon Kinesis Data Analytics 都可用來輕鬆處理串流資料。當您的使用案例主要是 ETL,且您想要在無伺服器 Apache Spark 型平台上執行任務時,建議使用 AWS Glue。當您的使用案例主要是分析,且想要在無伺服器 Apache Flink 型平台上執行任務時,建議使用 Amazon Kinesis Data Analytics。
AWS Glue 中的串流 ETL 使用與目前用於批次任務相同的無伺服器、按使用付費平台對串流資料進行進階 ETL。AWS Glue 在傳輸中產生可自訂 ETL 程式碼來準備您的資料,且具有內建功能可處理串流資料,這些資料已經過半結構化或擁有持續改進的結構描述。使用 Glue 將其內建和 Spark 原生轉換套用至資料串流,然後將其載入您的資料湖或資料倉儲。
Amazon Kinesis Data Analytics 可讓您建立複雜的串流應用程式來即時分析串流資料。其提供無伺服器 Apache Flink 執行階段,該執行階段無需伺服器即可自動擴展,且可持久儲存應用程式狀態。將 Amazon Kinesis Data Analytics 用於即時分析和更一般的串流資料處理。
問:AWS Glue 和 Amazon Kinesis Data Firehose 的使用時機分別為何?
AWS Glue 和 Amazon Kinesis Data Firehose 均可用於串流 ETL。建議將 AWS Glue 用於複雜的 ETL,包括聯結串流和在 Amazon S3 中根據資料內容分割輸出。如果您的使用案例主要為資料交付,並在交付後準備要處理的資料,則建議使用 Amazon Kinesis Data Firehose。
AWS Glue 中的串流 ETL 使用與目前用於批次任務相同的無伺服器、按使用付費平台對串流資料進行進階 ETL。AWS Glue 在傳輸中產生可自訂 ETL 程式碼來準備您的資料,且具有內建功能可處理串流資料,這些資料已經過半結構化或擁有持續改進的結構描述。使用 Glue 將複雜轉換套用至資料串流,使用來自其他串流和持久資料存放區的資訊豐富記錄,然後將記錄載入到您的資料湖或資料倉儲。
在 Amazon Kinesis Data Firehose 中進行 ETL 串流可讓您輕鬆擷取、轉換及交付串流資料。Amazon Kinesis Data Firehose 提供各種 ETL 功能,包括透過 AWS Lambda 進行無伺服器資料轉換和格式從 JSON 轉換為 Parquet。其中包括設計用於交付後輕鬆處理資料的 ETL 功能,但不包括 AWS Glue 支援的進階 ETL 功能。
刪除重複資料
問:FindMatches ML Transform 可解決哪種問題?
FindMatches 通常可解決「記錄連結」和「刪除重複資料」問題。當您嘗試識別資料庫中概念上「相同」的記錄,但有多筆不同記錄時,就必須執行「刪除重複資料」。如果可以藉由唯一索引鍵來識別重複的記錄 (例如,如果可以藉由 UPC 代碼來唯一識別產品),這個問題就很簡單,但是當您必須進行「模糊比對」時,就會變得非常具有挑戰性。
就操作原理而言,「記錄連結」基本上與「刪除重複資料」是相同的問題,但是「記錄連結」這個詞彙通常意指您是在為兩個非共用唯一索引鍵的資料庫進行「模糊聯結」,而不是為單一資料庫刪除重複資料。舉例說明,試想將大型客戶資料庫與小型已知詐騙者資料庫進行比對的問題。針對記錄連結和刪除重複資料的問題,都可以使用 FindMatches 來處理。
例如,AWS Glue 的 FindMatches ML Transform 可協助您處理下列問題:
在都有包含共同欄位 (例如姓名、生日、住址、電話號碼等等) 的不同資料庫上使用 FindMatches,以連結醫院之間的病患記錄,讓醫生有更多的背景資訊,能夠為病患採取更有效的醫療措施。
針對包含「片名」、「情節概要」、「發行年份」、「片長」和「演員名單」等欄的電影資料庫刪除重複資料。例如,同一部電影可能會有《星際大戰》、《星際大戰:曙光乍現》和《星際大戰四部曲:曙光乍現 (特別版)》等不同名稱。
識別服裝產品目錄中的同等品項 (其中您想要將 “equivalent” (同等) 定義為忽略尺寸和顏色的差異,其為相同品項),自動將店面所有相關產品集中在一起。因此,「Levi 501 藍色牛仔褲,尺寸 34x34」的定義為與「Levi 501 黑色牛仔褲,尺寸 32x31」相同。
問:AWS Glue 如何刪除我的重複資料?
AWS Glue 的 FindMatches ML Transform 可讓您輕鬆尋找並連結參照相同實體但不共用實際識別符的記錄。在 FindMatches 推出之前,開發人員通常會編寫大量手動調整的規則,才能放心解決資料比對問題。FindMatches 會在幕後使用機器學習演算法,學習如何根據每個開發人員自己的商業標準來比對記錄。FindMatches 會先識別客戶的記錄,以標記其是否相符,然後使用機器學習來建立 ML Transform。然後,客戶就可以在其資料庫上執行此 Transform (轉換),以尋找相符的記錄,或者他們可以要求 FindMatches 提供額外的記錄來加註標籤,以提升其 ML Transform 的準確度。
問:什麼是 ML Transform?
ML Transform 提供一個目的地來建立及管理機器學習的轉換內容。在建立並訓練這些 ML Transform 之後,即可在標準 AWS Glue 指令碼中執行。客戶可選取特定演算法 (例如,FindMatches ML Transform),並輸入資料集和訓練範例,以及該演算法所需的調整參數。AWS Glue 會使用這些輸入內容來建置可納入一般 ETL 任務工作流程中的 ML Transform。
問:ML Transforms 如何運作?
AWS Glue 包含特殊的 ML 型資料集轉換演算法,可供客戶用來建立自己的 ML Transform,其中包括刪除記錄的重複資料和尋找相符項目。
客戶一開始要瀏覽至主控台中的 ML Transforms 標籤 (或是透過 CLI 來使用 ML Transforms 服務端點或存取 ML Transforms 訓練),建立自己的第一個 ML 轉換模型。ML Transforms 標籤提供使用者簡便的檢視方式來管理使用者的轉換項目。ML Transforms 需要來自其他轉換的不同工作流程需求,包括對於分開訓練、參數調整和執行工作流程的需求;對於預估所產生之轉換品質指標的需求;以及管理及收集其他事實標籤來進行訓練和主動學習的需求。
若要透過主控台來建立 ML 轉換,客戶要先選取轉換類型 (例如「刪除重複記錄」或「記錄比對」),並提供先前在資料型錄中找到的適當資料來源。依據轉換內容,系統可能會要求客戶提供用於訓練的基本事實標籤資料或是其他參數。客戶可以監控訓練任務的狀態,以及檢視每項轉換的品質指標。(品質指標是使用客戶提供的一整組標籤資料集而產生。)
客戶如果滿意該效能,即可提升 ML Transforms 模型以用於正式生產作業。然後就可以在 ETL 工作流程中使用 ML Transforms (包括在服務自動產生的程式碼中,以及在隨著其他任務提交的使用者定義指令碼中),類似在其他 AWS Glue 程式庫中提供的預建轉換。
問:我是否可以參閱有關使用 AWS Glue (和 AWS Lake Formation) 來尋找相符項目及刪除重複記錄的簡報?
答:可以,這裡有提供 AWS Online Tech Talk:Fuzzy Matching and Deduplicating Data with ML Transforms for AWS Lake Formation (使用 AWS Lake Formation 的 ML Transforms 進行模糊比對及刪除重複資料) 的完整錄音。
AWS Glue DataBrew
問:什麼是 AWS Glue DataBrew?
AWS Glue DataBrew 是一種視覺化資料準備工具,它讓資料分析師和資料科學家可以透過點按式的互動型視覺化界面輕鬆地準備資料,而無需編寫程式碼。借助 Glue DataBrew,您可以直接從資料湖、資料倉儲和資料庫 (包括 Amazon S3、Amazon Redshift、Amazon Aurora 和 Amazon RDS) 輕鬆地視覺化、清理和標準化數 TB 甚至數 PB 的資料。AWS Glue DataBrew 現已在美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡)、歐洲 (愛爾蘭)、歐洲 (法蘭克福) 和亞太區域 (雪梨) 和亞太區域 (東京) 正式上市 。
問:誰可以使用 AWS Glue DataBrew?
AWS Glue DataBrew 專為需要清理和標準化資料以進行分析和機器學習的使用者而建置。資料分析師和資料科學家是主要使用者。需要進行資料分析的職業包括商業情報分析師、營運分析師、市場情報分析師、法律分析師、財務分析師、經濟學家、量化分析師或會計師等。利用資料科學的職業包括材料科學家、生物分析科學家和科學研究人員等。
問:AWS Glue DataBrew 支援哪些類型的轉換?
您可以從 250 多種內建轉換中進行選擇,以在不編寫程式碼的情況下合併、旋轉和轉置資料。AWS Glue DataBrew 還會自動建議轉換,例如篩選異常、更正無效、錯誤分類或重複的資料、將資料標準化為標準日期和時間值或產生彙總以進行分析。對於複雜的轉換,例如將字詞轉換為通用基詞或根詞,Glue DataBrew 提供了使用高級機器學習技術 (例如自然語言處理 (NLP)) 的轉換。您可以將多個轉換組合在一起,將它們另存為配方,然後將配方直接套用於新傳入的資料。
問:AWS Glue DataBrew 支援哪些檔案格式?
對於輸入資料,AWS Glue DataBrew 支援常用的檔案格式,例如逗號分隔值 (.csv)、JSON 和巢狀 JSON、Apache Parquet 和巢狀 Apache Parquet 以及 Excel 工作表。對於輸出資料,AWS Glue DataBrew 支援逗號分隔值 (.csv)、JSON、Apache Parquet、Apache Avro、Apache ORC 和 XML。
問:我可以免費試用 AWS Glue DataBrew 嗎?
可以。註冊一個 AWS 免費方案 帳戶,然後造訪 AWS Glue DataBrew 管理主控台,就可以免費開始使用了。如果您首次使用 Glue DataBrew,則前 40 個互動工作階段免費。請瀏覽 AWS Glue 定價頁面,進一步了解詳細資訊。
問:我需要使用 AWS Glue 資料型錄或 AWS Lake Formation 來使用 AWS Glue DataBrew 嗎?
不需要。您不使用 AWS Glue 資料型錄或 AWS Lake Formation 也可以使用 AWS Glue DataBrew。但是,如果您使用 AWS Glue 資料型錄或 AWS Lake Formation,則 DataBrew 使用者可以選取其集中式資料型錄中可用的資料集。
問:我可以保留對資料所做所有變更的記錄嗎?
可以。您可以在 AWS Glue DataBrew 管理主控台中以視覺化方式追蹤對資料所做的所有變更。視覺化檢視讓追蹤資料集、專案和配方以及所有其他關聯作業的變更和關係變得容易。此外,Glue DataBrew 會將所有帳戶活動作為日誌保留到 AWS CloudTrail 中。
AWS Glue Flex 任務
問:Glue Flex 是什麼?
AWS Glue Flex 是一個靈活的執行任務類別,允許您將非緊急資料整合工作負載 (例如預生產任務、測試、資料負載等) 的成本降低 35%。Glue 有兩個任務執行類別:標準和靈活。標準執行類別非常適合需要快速任務啟動和專用資源的時間敏感型工作負載。靈活執行類別適用於啟動和完成時間可能不同的非緊急任務。AWS Glue Flex 可以降低非時間敏感型工作負載的成本 (例如,夜間批量 ETL 任務、週末任務、一次性批量資料擷取任務等)。
問:AWS Glue 的標準和靈活執行類別有何不同?
AWS Glue 的標準和靈活執行類別具有不同的執行屬性。使用標準執行類別,任務可以立即啟動,並在執行時擁有專用資源。靈活執行類別任務在 AWS 中的非專用運算資源上執行,當任務正在執行時可以回收這些資源,並且它們的啟動和完成時間不同。因此,兩個執行類別適合不同的工作負載。標準執行類別非常適合需要快速任務啟動和專用資源的時間敏感型工作負載。靈活執行類別成本較低,適用於啟動和完成時間差異可接受的非緊急工作。
問:如何開始 AWS Glue Flex 靈活執行類別任務?
靈活執行類別可用於 Glue Spark 任務。若要使用靈活執行類別,只需將執行類別參數的預設設定從 “STANDARD” (標準) 變更為 “FLEX” (靈活)。可透過 Glue Studio 或 CLI 完成此操作。如需詳細資訊,請瀏覽 AWS Glue 使用者文件。
問:哪些類型的資料整合和 ETL 工作負載不適合 AWS Glue Flex 靈活執行類別?
AWS Glue Flex 靈活執行類別不適用於要求一致任務開始和執行時間的時間敏感型工作負載,或必須在特定時間內完成執行的任務。對於長時間執行的資料整合工作負載,也不建議使用 AWS Glue Flex,因為它們更容易中斷,導致頻繁的取消。
問:使用 AWS Glue Flex 靈活執行類別執行的任務應該多久中斷一次?
AWS Glue Flex 的可用性和中斷頻率取決於多個因素,包括區域和可用區域 (AZ)、時間、星期幾。資源可用性決定 Glue Flex 任務是否會啟動。雖然高峰時段的中斷率可能在 5-10% 之間,但我們預計 Glue Flex 任務的中斷率約為 5%,或者 Glue Flex 任務因中斷而導致的故障率低於 5%。
問:靈活執行類別是否始終可用?
是,您始終可以選擇靈活執行類別來執行 Glue 任務。但是,AWS Glue 執行這些任務的能力取決於非專用 AWS 容量的可用性和為您的任務選擇的工作者數量。在高峰期,Glue 可能沒有足夠的容量來完成任務。在這種情況下,您的任務將不會啟動。您可以指定一個逾時值,Glue 在該時間之後將取消任務。逾時值越長,執行作業的可能性越大。
問:如果 AWS Glue Flex 作業在執行期間中斷會怎麼樣?
如果根據指定的工作者數量,不再有足夠的工作者來完成任務,Glue Flex 任務會中斷,該任務將失敗。Glue 將在取消任務之前重試失敗的任務,最多重試任務定義中指定的最大重試次數。對於對其他系統或程序具有下游依賴性的任務,不應使用靈活執行類別。
問:靈活執行類別支援哪些類型的 AWS Glue 任務?
靈活執行類別僅支援 Glue Spark 任務。不支援 Pythonshell 和串流。Glue 3.0 版和更高版本支援 AWS Glue Flex。靈活執行類別目前不支援串流工作負載。
AWS 產品整合
問:何時應該使用 AWS Glue?何時又該使用 AWS Data Pipeline?
AWS Glue 提供在無伺服器 Apache Spark 環境執行的受管 ETL 服務。這可讓您專注在 ETL 任務上,無須擔心設定和管理基礎運算資源。AWS Glue 採取資料優先方法,讓您專注在資料屬性和資料操作,將資料轉換成可衍生商業洞見的形式。它提供整合的資料型錄,可為 ETL 提供中繼資料,並透過 Amazon Athena 和 Amazon Redshift Spectrum 進行查詢。
AWS Data Pipeline 提供受管的協調服務,為執行環境、存取和控制執行程式碼的運算資源,以及處理資料的程式碼本身提供更大的彈性。AWS Data Pipeline 可啟動帳戶中的運算資源,讓您直接存取 Amazon EC2 執行個體或 Amazon EMR 叢集。
此外,AWS Glue ETL 任務以 Scala 或 Python 為基礎。如果您的使用案例需要使用 Apache Spark 以外的引擎,或者您想要執行在 Hive、Pig 等各種引擎上運作的一組異質任務,則 AWS Data Pipeline 是較好的選擇。
問:何時應該使用 AWS Glue?何時又該使用 Amazon EMR?
AWS Glue 在 Apache Spark 環境之上運作,可為您的資料轉換任務提供橫向擴展的執行環境。AWS Glue 透過推斷、演進和監控您的 ETL 任務,大幅簡化建立和維護任務的程序。Amazon EMR 可讓您直接存取 Hadoop 環境、提供較低層級的存取,以及使用 Spark 以外工具的較大彈性。
問:何時應該使用 AWS Glue?何時又該使用 AWS Database Migration Service?
AWS Database Migration Service (DMS) 協助您輕鬆安全地將資料庫遷移到 AWS。對於需要將資料庫從現場部署遷移到 AWS 或在現場部署來源和 AWS 來源間複寫資料庫的使用案例,建議您使用 AWS DMS。將資料放入 AWS 之後,可以使用 AWS Glue 將資料從資料來源移動、合併、複寫並轉換到其他資料庫或資料倉儲,像是 Amazon Redshift。
問:何時應該使用 AWS Glue?何時又該使用 AWS Batch?
無論任務的本質為何,AWS Batch 都能讓您輕鬆、有效率地在 AWS 上執行任何批次運算任務。AWS Batch 可在您的 AWS 帳戶建立和管理運算資源,提供您所用資源的完全控制和可見性。AWS Glue 是提供無伺服器 Apache Spark 環境供您執行 ETL 任務的全受管 ETL 服務。針對您的 ETL 使用案例,我們建議您使用 AWS Glue 探索。對於其他批次導向使用案例,包含部分 ETL 使用案例,AWS Batch 可能是更好的選擇。
定價和帳單
問:AWS Glue 如何計費?
在 AWS Glue 資料型錄存放和存取中繼資料,超過 AWS Glue 資料型錄免費方案的部分需支付簡單的月費。網路爬取程式執行需支付以每秒計費的小時費率,以最少 10 分鐘起算。如果您選擇使用開發端點以互動的方式開發 ETL 程式碼,則必須依開發端點的佈建時間支付以每秒計費的小時費率,以最少 10 分鐘起算。此外,ETL 任務需支付以每秒計費的小時費率,並依照您選取的 Glue 版本,每個 ETL 任務以最少 1 分鐘或 10 分鐘起算。如需詳細資訊,請參閱我們的定價頁面。
問:AWS Glue 任務何時開始計費?何時結束計費?
排定任務的執行時間後立即開始計費,然後持續計費直到整個任務完成。使用 AWS Glue 只需支付任務執行時間的費用,環境佈建或停機時間不計費。
安全性與可用性
問:AWS Glue 如何保護資料的安全?
我們為靜態資料提供伺服器端加密,為動態資料提供 SSL。
問:AWS Glue 有哪些服務限制?
請參閱我們的文件進一步了解服務限制。
問:哪些區域提供 AWS Glue?
請參閱 AWS 區域表,了解 AWS Glue 服務在不同區域的可用性詳細資訊。
問:在開發端點分配多少個 DPU (資料處理單位)?
預設會在開發端點佈建 5 個 DPU。您可以將開發端點設定為最少 2 個 DPU 和最多 5 個 DPU。
問:如何擴展 AWS Glue ETL 任務的大小和效能?
只要指定您想要在 ETL 任務分配的 DPU (資料處理單位) 數量即可。一個 Glue ETL 任務至少需要 2 個 DPU。AWS Glue 預設會為每個 ETL 任務分配 10 個 DPU。
問:如何監控 AWS Glue 任務的執行?
AWS Glue 會提供每個任務的狀態,並將所有通知推送到 Amazon CloudWatch。您可以透過 CloudWatch 動作設定 SNS 通知,以接收任務失敗或完成的相關資訊。
服務水準協議
問:AWS Glue SLA 提供哪些保證?
我們的 AWS Glue SLA 可保證 AWS Glue 的每月正常執行時間百分比至少可達 99.9%。
問:如何知道自己是否符合 SLA 服務抵扣的資格?
根據 AWS Glue SLA,如果您在一個以上可用區域執行任務,而同一個區域任一個月帳單週期內的每月正常執行時間百分比低於 99.9%,您就符合 AWS Glue 的 SLA 抵扣資格。
如需 SLA 所有條款與條件的完整詳細資訊,以及如何提交索賠的詳細資訊,請參閱 AWS Glue SLA 詳細資訊頁面。