本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂連接器
您也可以建置自己的連接器,然後將連接器程式碼上傳到 AWS Glue Studio。
自訂連接器會透過 AWS Glue Spark 執行時間 API 整合至 AWS Glue Studio。AWS Glue Spark 執行時間可讓您插入任何符合 Spark、Athena 或 JDBC 介面的連接器。它可讓您傳入任何可用於自訂連接器的連線選項。
您可以使用 AWS Glue 連線封裝所有連線屬性並提供連線名稱給您的 ETL 任務。與 Data Catalog 連線整合可讓您在單一 Spark 應用程式或不同應用程式之間,跨多個呼叫使用相同的連線屬性。
您可以為連線指定其他選項。AWS Glue Studio 產生的任務指令碼包含 Datasource 項目,該項目使用連線以指定的連線選項插入連接器。例如:
Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
將自訂連接器新增至 AWS Glue Studio
-
為您的自訂連接器建立程式碼。如需詳細資訊,請參閱開發自訂連接器。
-
新增對 AWS Glue 功能的支援至您的連接器。以下是這些功能的一些範例,以及如何在 AWS Glue Studio 產生的任務指令碼中使用它們:
-
資料類型映射 – 您的連接器可以在從基礎資料存放區讀取欄時對欄進行類型轉換。例如,當剖析記錄並建構
DynamicFrame時,{"INTEGER":"STRING"}的dataTypeMapping會將類型Integer的所有欄轉換為類型String的欄。這可以協助使用者將欄轉換為他們選擇的類型。DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0") -
並行讀取的分割 – AWS Glue 允許透過分割欄上的資料,從資料存放區並行讀取資料。您必須指定分割區欄、分割區下界、分割區上限,以及分割區的數目。此功能讓您能夠利用資料並行性和分配給 Spark 應用程式的多個 Spark 執行器。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0") -
使用 AWS Secrets Manager 來存放登入資料 – Data Catalog 連線也可以包含 中存放秘密
secretId的 AWS Secrets Manager。 AWS 秘密可以安全地存放身分驗證和登入資料資訊,並在 AWS Glue 執行時間將其提供給 。或者,您也可以從 Spark 指令碼指定secretId,如下所示:DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0") -
使用列述詞和欄投影篩選來源資料 – AWS Glue Spark 執行時間也允許使用者下推 SQL 查詢,使用使用列述詞和欄投影在來源篩選資料。這可讓您的 ETL 任務更快從支援下推的資料存放區載入篩選過的資料。下推到 JDBC 資料來源的範例 SQL 查詢是:
SELECT id, name, department FROM department WHERE id < 200.DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0") -
任務書籤 – AWS Glue 支援從 JDBC 來源增量載入資料。AWS Glue 會追蹤資料存放區的最後處理記錄,並在後續的 ETL 任務執行中處理新的資料記錄。任務書籤使用主索引鍵作為書籤索引鍵的預設欄,前提是此欄會按順序新增或減少。如需任務書籤的詳細資訊,請參閱 AWS Glue 開發人員指南中的任務書籤。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
-
將自訂連接器封裝為 JAR 檔案,然後將檔案上傳到 Amazon S3。
-
測試您的自訂連接器。如需詳細資訊,請參閱 GitHub 上 Glue Custom Connectors: Local Validation Tests Guide
的指示。 -
在 AWS Glue Studio 主控台中,在主控台導覽窗格中選擇 Connectors (連接器)。
-
在 Connectors (連接器) 頁面上,選擇 Create custom connector (建立自訂連接器)。
-
在 Create custom connector (建立自訂連接器) 頁面上,輸入以下資訊:
-
指向 Amazon S3 中自訂程式碼 JAR 檔案位置的路徑。
-
AWS Glue Studio 將使用的連接器的名稱。
-
您的連接器類型,可以是 JDBC、Spark, 或 Athena。
-
您自訂程式碼中的入口點名稱,AWS Glue Studio 將呼叫以使用連接器。
-
對於 JDBC 連接器,此欄位應該是 JDBC 驅動程式的類別名稱。
-
對於 Spark 連接器,此欄位應該是當您使用
format運算子載入 Spark 資料來源時使用的完整資料來源類別名稱或其別名。
-
-
(僅限 JDBC) 資料存放區的 JDBC 連線使用的基本 URL。
-
(選用) 自訂連接器的描述。
-
-
選擇 Create connector (建立連接器)。
-
從 Connectors (連接器) 頁面,建立使用此連接器的連線,如建立連接器的連線中所述。
新增連接器至 AWS Glue Studio
連接器是一段程式碼,可促進資料存放區和 AWS Glue 之間的通訊。您可以訂閱 中提供的連接器 AWS Marketplace,也可以建立自己的自訂連接器。
訂閱 AWS Marketplace 連接器
AWS Glue Studio 可讓您輕鬆地從中新增連接器 AWS Marketplace。
將連接器從 新增至 AWS MarketplaceAWS Glue Studio
-
在 AWS Glue Studio 主控台中,在主控台導覽窗格中選擇 Connectors (連接器)。
-
在連接器頁面上,選擇移至 AWS Marketplace。
-
在精選產品 AWS Marketplace中,選擇您要使用的連接器。您可以選擇其中一個精選連接器,或使用搜尋。您可以搜尋連接器的名稱或類型,也可以使用選項來縮小搜尋結果。
如果您想要使用其中一個精選連接器,請選擇 View product (檢視產品)。如果您使用搜尋來尋找連接器,請選擇連接器的名稱。
-
在連接器的產品頁面上,使用索引標籤來檢視連接器的相關資訊。如果您決定購買此連接器,請選擇 Continue to Subscribe (繼續訂閱)。
-
提供付款資訊,然後選擇 Continue to Configure (繼續進行設定)。
-
在 Configure this software (設定此軟體) 頁面上,選擇部署方法和要使用的連接器版本。然後選擇 Continue to Launch (繼續啟動)。
-
在 Launch this software (啟動此軟體) 頁面上,您可以檢閱由連接器提供者所提供的 Usage Instructions (使用指示)。當您準備好繼續時,請選擇 在 AWS Glue Studio 中啟用連線。
一段時間後,主控台會在 AWS Glue Studio 中顯示 Create marketplace connection (建立市集連線) 頁面。
-
建立使用此連接器的連線,如建立連接器的連線中所述。
或者,您也可以選擇 Activate connector only (僅啟動連接器),在此時略過建立連線。您稍後必須建立連線,才能使用連接器。