選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Teradata Vantage NOS 連線

焦點模式
Teradata Vantage NOS 連線 - AWS Glue

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

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

Teradata NOS (原生物件存放區) 連線是 Teradata Vantage 的新連線,利用 Teradata WRITE_NOS 查詢從現有資料表讀取,以及利用 READ_NOS 查詢寫入資料表。這些查詢使用 Amazon S3 做為預備目錄,因此 Teradata NOS 連接器比現有的 Teradata 連接器 (JDBC 型) 更快,特別是在處理大量資料時。

您可以使用 AWS Glue for Spark 中的 Teradata NOS 連線,從 AWS Glue 5.0 版和更新版本的 Teradata Vantage 中讀取和寫入現有資料表。您可以使用 SQL 查詢定義要從 Teradata 讀取的內容。您可以使用 AWS Secrets Manager 透過連線存放在 中的使用者名稱和密碼登入資料來 AWS Glue 連線至 Teradata。

如需 Teradata 的詳細資訊,請參閱 Teradata 文件

建立 Teradata NOS 連線

若要從 連線至 Teradata NOS AWS Glue,您需要建立 Teradata 登入資料並將其存放在 AWS Secrets Manager 秘密中,然後將該秘密與 AWS Glue Teradata NOS 連線建立關聯。如果您的 Teradata 執行個體位於 Amazon VPC 中,您也需要提供 AWS Glue Teradata NOS 連線的聯網選項。

先決條件:

  • 如果您透過 Amazon VPC 存取 Teradata 環境,請設定 Amazon VPC 以允許任務與 Teradata 環境 AWS Glue 通訊。我們不建議透過公有網際網路存取 Teradata 環境。

  • 在 Amazon VPC 中,識別或建立 AWS Glue 將在執行任務時使用的 VPC、子網路和安全群組。此外,您也需要確保 Amazon VPC 已完成設定,以允許 Teradata 執行個體與此位置之間的網路流量。您的任務將需要與 Teradata 用戶端連接埠建立 TCP 連線。如需 Teradata 連接埠的詳細資訊,請參閱 Teradata Vantage 的安全群組

  • 根據您的網路配置,安全 VPC 連線可能需要變更 Amazon VPC 和其他網路服務。如需 AWS 連線的詳細資訊,請參閱 Teradata 文件中的AWS 連線選項

若要設定 AWS Glue Teradata NOS 連線:

  1. 在您的 Teradata 組態中,識別或建立 teradataUsernameteradataPassword AWS Glue 將連線。如需詳細資訊,請參閱 Teradata 文件中的 Vantage 安全概觀

  2. 在 中 AWS Secrets Manager,使用您的 Teradata 登入資料建立秘密。若要在 中建立秘密 AWS Secrets Manager,請遵循 文件中建立 AWS Secrets Manager 秘密 AWS Secrets Manager中提供的教學課程。建立機密之後,請保留機密名稱 secretName,以便進行下一個步驟。

    • 選取鍵/值對時,請使用 teradataUsername 值為鍵 USERNAME 建立對。

    • 選取鍵/值對時,請使用 teradataPassword 值為鍵 PASSWORD 建立對。

  3. 在 AWS Glue 主控台中,依照新增連線 中的步驟建立 AWS Glue 連線。建立連線之後,請保留連線名稱 connectionName,以便進行下一個步驟。

    • 選取連線類型時,請選取 Teradata Vantage NOS。

    • 提供 JDBC URL 時,請提供執行個體的 URL。您也可在 JDBC URL 中,針對特定逗號分隔的連線參數進行硬編碼。URL 必須符合下列格式: jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue

    • 支援的 URL 參數包括:

      • DATABASE:依預設要存取之主機的資料庫名稱。

      • DBS_PORT:在非標準連接埠上執行時所使用的資料庫連接埠。

    • 選取登入資料類型時,請選取 AWS Secrets Manager,然後將 AWS Secret 設定為 secretName

  4. 在下列情況中,您可能需要其他組態:

    • 對於在 Amazon VPC AWS 中託管於 的 Teradata 執行個體,您需要提供 Amazon VPC 連線資訊給定義 Teradata 安全登入資料的 AWS Glue 連線。建立或更新連線時,請在網路選項中設定 VPC子網路安全群組

建立 AWS Glue Teradata Vantage NOS 連線後,您需要先執行下列步驟,才能呼叫連線方法。

  1. 授予與您的 AWS Glue 任務相關聯的 IAM 角色讀取 secretName 的許可。

  2. 在您的 AWS Glue 任務組態中,提供 connectionName 做為連線的其他網路連線

從 Teradata 資料表讀取

事前準備:

  • 您想要讀取的 Teradata 資料表。您將需要資料表名稱 tableName

  • Teradata 環境具有 staging_fs_url選項 stagingFsUrl 所指定 Amazon S3 路徑的寫入存取權。

  • 與 AWS Glue 任務相關聯的 IAM 角色具有 staging_fs_url選項所指定 Amazon S3 位置的寫入存取權。

  • 設定為提供身分驗證資訊的 AWS Glue Teradata NOS 連線。完成若要設定 AWS Glue Teradata NOS 連線:設定身分驗證資訊的步驟。您將需要 AWS Glue 連線的名稱 connectionName

範例:

teradata_read_table = glueContext.create_dynamic_frame.from_options( connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

您也可提供 SELECT SQL 查詢,以篩選傳回 DynamicFrame 的結果。您需要設定查詢。如果您同時設定 dbTable 和查詢,連接器無法讀取資料。例如:

teradata_read_query = glueContext.create_dynamic_frame.from_options( connection_type="teradatanos", connection_options={ "connectionName": "connectionName", "query": "query", "staging_fs_url": "stagingFsUrl" } )

此外,您可以使用 Spark DataFrame API 從 Teradata 資料表讀取。例如:

options = { "url": "JDBC_URL", "dbtable": "tableName", "user": "teradataUsername", # or use "username" as key here "password": "teradataPassword", "staging_fs_url": "stagingFsUrl" } teradata_read_table = spark.read.format("teradatanos").option(**options).load()

寫入 Teradata 資料表

先決條件

  • 您想要寫入的 Teradata 資料表:tableName

  • Teradata 環境具有 staging_fs_url選項 stagingFsUrl 所指定 Amazon S3 位置的讀取存取權。

  • 與 AWS Glue 任務相關聯的 IAM 角色具有 staging_fs_url選項所指定 Amazon S3 位置的寫入存取權。

  • 設定為提供身分驗證資訊的 AWS Glue Teradata 連線。完成 中的步驟若要設定 AWS Glue Teradata NOS 連線:,以設定您的身分驗證資訊。您需要 AWS Glue 連線的名稱 connectionName

    例如:

    teradata_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

Teradata 連線選項參考

連線和操作選項:

  • connectionName – 必要。用於讀取/寫入。設定為向連線方法提供身分驗證和聯網資訊的 AWS Glue Teradata 連線名稱。

  • staging_fs_url – 必要。用於讀取/寫入。Amazon S3 中的可寫入位置,用於從 Teradata 讀取時卸載的資料,以及用於將 Parquet 資料寫入 Teradata 時載入 Redshift。S3 儲存貯體必須與您 AWS Glue 任務的區域位於相同區域。

  • dbtable:除非已提供 query,否則為寫入和讀取的必要項目。用於讀取/寫入。您的連線方法將會互動的資料表名稱。

  • query – 用於讀取。定義從 Teradata 讀取時應擷取之內容的 SELECT SQL 查詢。如果提供 dbtable 選項,則無法通過。

  • clean_staging_s3_dir — 選用。用於讀取/寫入。如果為 true,請在讀取或寫入後清除預備 Amazon S3 物件。預設值為 true。

  • pre_actions — 選用。用於寫入。在 Spark 和 Teradata Vantage 之間傳輸資料之前執行的 SQL 命令的分號分隔清單。

  • post_actions — 選用。用於寫入。在 Spark 和 Teradata Vantage 之間傳輸資料之後執行的 SQL 命令的分號分隔清單。

  • truncate — 選用。用於寫入。如果為 true,連接器會在覆寫模式下寫入時截斷資料表。如果為 false,連接器會在覆寫模式下寫入時捨棄資料表。預設值為 false。

  • create_table_script — 選用。用於寫入。寫入 Teradata Vantage 時建立資料表的 SQL 陳述式。當您想要建立具有自訂中繼資料的資料表 (例如 CREATE MULTISET 或 SET 資料表或變更主要索引) 時很有用。請注意,建立資料表指令碼中使用的資料表名稱應與 dbtable選項中指定的資料表名稱相符。

  • partition_size_in_mb — 選用。用於讀取。讀取預備 Amazon S3 物件時,Spark 分割區的大小上限,以 MB 為單位。預設值為 128。

您可以在建立 Teradata 節點時提供進階選項。這些選項與 AWS Glue Spark 指令碼程式設計時可用的選項相同。

請參閱 Teradata Vantage 連線

授權選項:

以下是用於提供 AWS 帳戶登入資料的選項,連接器會使用這些登入資料來存取預備 Amazon S3 儲存貯體。您可以選擇 (1) 完全不提供任何授權選項,並使用從 AWS Glue 執行角色產生的臨時登入資料;或 (2) 提供auth_object您所建立的授權物件;或 (3) 在使用長期登入資料aws_access_key_id and aws_secret_access_key時提供 ,或在使用臨時登入資料aws_session_token時提供 aws_access_keyaws_secret_access_key和 。

  • auth_object - 選用。用於存取預備 Amazon S3 儲存貯體。在 Teradata 執行個體中建立的授權物件字串。如果提供,連接器將使用此授權物件來存取臨時 Amazon S3 儲存貯體。如果未提供 和 aws_secret_access_key ,也未提供 aws_access_key_id和 ,則會從 AWS Glue 執行角色擷取臨時登入資料,並由連接器使用。與此授權物件相關聯的 AWS 帳戶必須與您的 AWS Glue 任務和臨時 Amazon S3 儲存貯體位於相同區域,或設定跨帳戶信任。

  • aws_access_key_id - 選用。用於存取預備 Amazon S3 儲存貯體。 AWS 帳戶安全登入資料的一部分。如果 auth_object 未提供,且 aws_access_key_id隨附 aws_secret_access_key,連接器將使用它們來存取預備 Amazon S3 儲存貯體。與此存取金鑰相關聯的 AWS 帳戶必須與您的 AWS Glue 任務和臨時 Amazon S3 儲存貯體位於相同的區域,或設定跨帳戶信任。

  • aws_secret_access_key - 選用。用於存取預備 Amazon S3 儲存貯體。 AWS 帳戶安全登入資料的一部分。如果 auth_object 未提供,且 aws_secret_access_key隨附 aws_access_key_id,連接器將使用它們來存取預備 Amazon S3 儲存貯體。與此私密金鑰相關聯的 AWS 帳戶必須與您的 AWS Glue 任務和臨時 Amazon S3 儲存貯體位於相同區域,或設定為跨帳戶信任。

  • aws_session_token - 選用。用於存取預備 Amazon S3 儲存貯體。臨時 AWS 帳戶安全登入資料的一部分。應隨附 aws_access_key_idaws_secret_access_key

在 AWS Glue 視覺化 ETL UI 中提供選項

您可以在視覺化 ETL 任務 UI 中提供上述所有選項。對於 connectionName 選項,您應該從 Teradata Vantage NOS 連線下拉式清單中選擇它。對於所有其他選項,您應該透過 Custom Teradata Vantage NOS 屬性提供這些屬性做為索引鍵值對。

視窗窗格會顯示已選取 Teradata NOS Vantage 連線。
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。