建立自訂連接器 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立自訂連接器

您也可以建置自己的連接器,然後將連接器程式碼上傳到 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
  1. 為您的自訂連接器建立程式碼。如需詳細資訊,請參閱開發自訂連接器

  2. 新增對 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")
  3. 將自訂連接器 Package 為JAR檔案,然後將檔案上傳到 Amazon S3。

  4. 測試您的自訂連接器。如需詳細資訊,請參閱 Glue GitHub 自訂連接器:本機驗證測試指南中的說明。

  5. 在 AWS Glue Studio 主控台中,在主控台導覽窗格中選擇 Connectors (連接器)。

  6. Connectors (連接器) 頁面上,選擇 Create custom connector (建立自訂連接器)

  7. Create custom connector (建立自訂連接器) 頁面上,輸入以下資訊:

    • 在 Amazon S3 中自訂程式碼JAR檔案位置的路徑。

    • AWS Glue Studio 將使用的連接器的名稱。

    • 您的連接器類型,可以是 S JDBCparkAthena 之一。

    • 您自訂程式碼中的入口點名稱,AWS Glue Studio 將呼叫以使用連接器。

      • 對於JDBC連接器,此欄位應該是JDBC驅動程式的類別名稱。

      • 對於 Spark 連接器,此欄位應該是當您使用 format 運算子載入 Spark 資料來源時使用的完整資料來源類別名稱或其別名。

    • (JDBC僅) JDBC 連接URL用於資料倉庫的基準。

    • (選用) 自訂連接器的描述。

  8. 選擇 Create connector (建立連接器)

  9. Connectors (連接器) 頁面,建立使用此連接器的連線,如建立連接器的連線中所述。

新增連接器至 AWS Glue Studio

連接器是一段程式碼,可促進資料存放區和 AWS Glue 之間的通訊。您可以訂閱中提供的連接器 AWS Marketplace,也可以建立自己的自訂連接器。

訂閱連接器 AWS Marketplace

AWS Glue Studio可以輕鬆地從中添加連接器 AWS Marketplace。

將連接器從加入 AWS Marketplace 至 AWS Glue Studio
  1. 在 AWS Glue Studio 主控台中,在主控台導覽窗格中選擇 Connectors (連接器)。

  2. 連接器頁面上,選擇移至 AWS Marketplace

  3. 在 AWS Marketplace「精選產品」中,選擇您要使用的連接器。您可以選擇其中一個精選連接器,或使用搜尋。您可以搜尋連接器的名稱或類型,也可以使用選項來縮小搜尋結果。

    如果您想要使用其中一個精選連接器,請選擇 View product (檢視產品)。如果您使用搜尋來尋找連接器,請選擇連接器的名稱。

  4. 在連接器的產品頁面上,使用索引標籤來檢視連接器的相關資訊。如果您決定購買此連接器,請選擇 Continue to Subscribe (繼續訂閱)

  5. 提供付款資訊,然後選擇 Continue to Configure (繼續進行設定)

  6. Configure this software (設定此軟體) 頁面上,選擇部署方法和要使用的連接器版本。然後選擇 Continue to Launch (繼續啟動)

  7. Launch this software (啟動此軟體) 頁面上,您可以檢閱由連接器提供者所提供的 Usage Instructions (使用指示)。當您準備好繼續時,請選擇 在 AWS Glue Studio 中啟用連線

    一段時間後,主控台會在 AWS Glue Studio 中顯示 Create marketplace connection (建立市集連線) 頁面。

  8. 建立使用此連接器的連線,如建立連接器的連線中所述。

    或者,您也可以選擇 Activate connector only (僅啟動連接器),在此時略過建立連線。您稍後必須建立連線,才能使用連接器。