Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Teradata Vantage NOS 接続

フォーカスモード
Teradata Vantage NOS 接続 - AWS Glue

Teradata NOS (Native Object Store) 接続は、Teradata Vantage の新しい接続です。これは、Teradata WRITE_NOS クエリを活用して既存のテーブルから読み取り、READ_NOS クエリを使用してテーブルに書き込みます。これらのクエリはステージングディレクトリとして Amazon S3 を使用するため、Teradata NOS コネクタは、既存の Teradata コネクタ (JDBC ベース) よりも高速で、特に大量のデータを処理できます。

Spark 向けの AWS Glue の Teradata NOS 接続を使用して、AWS Glue 5.0 以降のバージョンの Teradata Vantage の既存テーブルからの読み取りやテーブルへの書き込みを行うことができます。SQL クエリを使用して、Teradata から何を読み取るかを定義できます。AWS Glue 接続を介して AWS Secrets Manager に保存されているユーザー名およびパスワードの認証情報を使用して Teradata に接続できます。

Teradata の詳細については、Teradata のドキュメントを参照してください。

Teradata NOS 接続の作成

AWS Glue から Teradata NOS に接続するには、Teradata 認証情報を作成して AWS Secrets Manager シークレットに保存し、そのシークレットを AWS Glue Teradata NOS 接続に関連付ける必要があります。Teradata インスタンスが Amazon VPC 内にある場合は、AWS Glue Teradata NOS 接続にネットワークオプションを提供する必要もあります。

前提条件:

  • Amazon VPC を通じて Teradata 環境にアクセスしている場合は、AWS Glue ジョブが Teradata 環境と通信できるように Amazon VPC を設定します。パブリックインターネット経由で Teradata 環境にアクセスすることは推奨されていません。

  • Amazon VPC で、AWS Glue がジョブの実行中に使用する [VPC]、[サブネット]、および [セキュリティグループ] を特定または作成します。さらに、Teradata インスタンスとこの場所の間のネットワークトラフィックを許可するように Amazon VPC が設定されているようにする必要があります。ジョブでは、Teradata クライアントポートとの TCP 接続を確立する必要があります。Teradata ポートの詳細については、「Teradata Vantage のセキュリティグループ」を参照してください。

  • ネットワークレイアウトに応じて、安全な VPC 接続を実現するには、Amazon VPC および他のネットワークサービスの変更が必要な場合があります。AWS 接続の詳細については、Teradata ドキュメントの「AWS 接続オプション」を参照してください。

AWS Glue Teradata NOS 接続を設定するには:

  1. Teradata 設定で、AWS Glue が接続する teradataUsernameteradataPassword を識別または作成します。詳細については、Teradata ドキュメントの「 Vantage セキュリティの概要を 参照してください」を参照してください。

  2. AWS Secrets Manager で、Teradata 認証情報を使用してシークレットを作成します。AWS Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの「AWS Secrets Manager シークレットを作成する」にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名 secretName を保存しておきます。

    • [Key/value ペア] を選択する際に、teradataUsername という値を持つキーユーザーのペアを作成します。

    • [Key/value ペア] を選択する際に、teradataPassword という値を持つキーパスワードのペアを作成します。

  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 シークレット]secretName に設定します。

  4. 次の状況では、追加の設定が必要になる場合があります。

    • Amazon VPC 内の AWS でホストされている Teradata インスタンスの場合、Teradata セキュリティ認証情報を定義する AWS Glue 接続に、Amazon VPC 接続に関する情報を提供する必要があります。接続を作成または更新する際に、[ネットワークオプション][VPC][サブネット]、および [セキュリティグループ] を設定します。

AWS Glue Teradata Vantage NOS 接続を作成したら、接続メソッドを呼び出す前に次のステップを実行する必要があります。

  1. AWS Glue ジョブに関連付けられている IAM ロールに secretName を読み取るアクセス許可を付与します。

  2. AWS Glue ジョブ設定では、[接続][Additional network connection] (追加のネットワーク接続) として connectionName を指定します。

Teradata テーブルからの読み取り

前提条件:

  • 読み取り元とする Teradata テーブル。テーブル名 tableName が必要になります。

  • Teradata 環境には、staging_fs_url オプションで指定された Amazon S3 パスである stagingFsUrl への書き込みアクセス権があります。

  • 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", "password": "teradataPassword", "staging_fs_url": "stagingFsUrl" } teradata_read_table = spark.read.format("teradatanos").option(**options).load()

Teradata テーブルへの書き込み

前提条件

  • 書き込み先とする Teradata テーブル: tableName

  • Teradata 環境には、staging_fs_url オプションで指定された Amazon S3 の場所である stagingFsUrl への読み取りアクセス権があります。

  • 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" } )

AWS Glue Studio で Teradata ジョブを作成する

AWS Glue Studio は、ビジュアル ETL ジョブとして AWS Glue ジョブの作成をサポートします。成功した AWS Glue ジョブを設定するには、データソースとターゲットを設定する以外に、UI の Custom Teradata Vantage NOS プロパティに以下の必須プロパティを指定する必要があります。

  • dbtable

  • staging_fs_url

Teradata 接続オプションのリファレンス

  • connectionName — 必須。読み込み/書き込みに使用されます。認証およびネットワークの情報をお使いの接続方法に提供するように設定された AWS Glue Teradata 接続の名前。

  • staging_fs_url — 必須。読み込み/書き込みに使用されます。Amazon S3 の書き込み可能な場所。Teradata から読み取るときにはアンロードされたデータに使用され、Teradata に書き込むときには Parquet データが 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 パーティションの最大サイズ (メガバイト)。デフォルト値は 128 です。

Teradata ノードを作成する際に、高度なオプションを指定できます。これらのオプションは Spark AWS Glue スクリプトのプログラミング時に使用できるオプションと同じです。

Teradata Vantage 接続」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.