本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂連接器
您也可以建置自己的連接器,然後將連接器程式碼上傳到 AWS Glue Studio。
自訂連接器會AWS Glue Studio透過 S AWS Glue park 執行階段整合至中API。S AWS Glue park 執行階段可讓您插入符合 Spark、Athena 或JDBC介面的任何連接器。它可讓您傳入任何可用於自訂連接器的連線選項。
您可以使用 AWS GlueConnec tions 封裝所有連接屬性,並為您的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 於儲存認證 — 資料目錄連線也可以包
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")
-
Job 書籤 — 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")
-
-
將自訂連接器 Package 為JAR檔案,然後將檔案上傳到 Amazon S3。
-
測試您的自訂連接器。如需詳細資訊,請參閱 Glue GitHub 自訂連接器:本機驗證測試指南
中的說明。 -
在 AWS Glue Studio 主控台中,在主控台導覽窗格中選擇 Connectors (連接器)。
-
在 Connectors (連接器) 頁面上,選擇 Create custom connector (建立自訂連接器)。
-
在 Create custom connector (建立自訂連接器) 頁面上,輸入以下資訊:
-
在 Amazon S3 中自訂程式碼JAR檔案位置的路徑。
-
AWS Glue Studio 將使用的連接器的名稱。
-
您的連接器類型,可以是 S JDBCpark 或 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 Marketplace 至 AWS 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 (僅啟動連接器),在此時略過建立連線。您稍後必須建立連線,才能使用連接器。