Teradata からのデータ移行

BigQuery Data Transfer Service と特別な移行エージェントを組み合わせると、Teradata オンプレミス データ ウェアハウス インスタンスから BigQuery にデータをコピーできます。このドキュメントでは、BigQuery Data Transfer Service を使用して Teradata からデータを移行する手順をステップごとに説明します。

始める前に

Teradata データウェア ハウスの移行を確実に成功させるには、次の前提条件を満たす必要があります。

Google Cloud の要件

  1. 移行データを保存するための Google Cloud プロジェクトを選択するか、作成します。転送を設定するには、Google Cloud プロジェクトの owner 権限が必要です。

    • Cloud Console で、[VM インスタンス] ページに移動します。

      プロジェクト セレクタのページに移動

    • Cloud プロジェクトを選択または作成します。

  2. これらの Google Cloud API を有効化します。

    コンソール

    Cloud Console で、次の両方のページの [ENABLE] ボタンをクリックします。

    新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトの場合は、BigQuery API の有効化が必要になる場合もあります。

    例:

    API を有効にする

    緑色のチェックマークは、API がすでに有効にされていることを示します。

    有効な API

    gcloud

    必要に応じて、gcloud コマンドライン ツールを使用して API を有効にすることができます。

    gcloud コマンドは、Cloud Shell で発行できます。また、次のように gcloud ツールをダウンロードしてローカルマシンにインストールすることもできます。

    • gcloud ツールを実行するには、Java 8 がインストールされている必要があります。こちらのリンクを使用してダウンロードします。
    • Cloud SDK をインストールして、初期化してください。

    次の gcloud コマンドを入力します。

    gcloud services enable bigquerydatatransfer.googleapis.com
    gcloud services enable storage-component.googleapis.com
    gcloud services enable pubsub.googleapis.com
    

    新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトの場合は、BigQuery API も有効にします。

    gcloud services enable bigquery.googleapis.com
    
  3. データを保存する BigQuery データセットを作成します。テーブルを作成する必要はありません。

  4. Identity and Access Management(IAM)サービスアカウントを作成します。サービス アカウントの作成方法については、サービス アカウントの作成と管理をご覧ください。

  5. サービス アカウントに次の IAM ロールを付与します。サービス アカウントへのロールの付与をご覧ください。

    • BigQuery: 事前定義された IAM ロール bigquery.admin
    • Cloud Storage: 事前定義された IAM ロール storage.objectAdmin
  6. データをステージングするための Cloud Storage バケットを作成します。このバケットの名前は、後に移行プロセスで使用します。

  7. ブラウザで bigquery.cloud.google.com からのポップアップを許可し、転送を設定する際に権限ウィンドウが表示されるようにします。転送を管理できるように BigQuery Data Transfer Service 権限を付与する必要があります。

オンプレミスの要件

  1. ローカルマシンの要件
    • 移行エージェントは、Teradata インスタンスと Google Cloud API との JDBC 接続を使用します。ファイアウォールによってネットワーク アクセスがブロックされていないことを確認します。
    • Java Runtime Environment 8 以降がインストールされていることを確認します。
    • ステージング スペースの要件で説明されている推奨する最小限のストレージ スペースがあることを確認します。
  2. Teradata 接続の詳細
    • システム テーブルと移行されるテーブルへの読み取りアクセス権限を持つユーザーのユーザー名とパスワード。
    • Teradata インスタンスに接続するためのホスト名とポート番号。
  3. Teradata から必要な JDBC ドライバ(tdgssconfig.jar and terajdbc4.jar)をダウンロードします。
  4. Google Cloud の認証情報をダウンロードします。

転送モードとオプション

移行にはそれぞれ固有の要件があるため、移行エージェントは次の方法でカスタマイズできるようになっています。Teradata から BigQuery へのデータ転送を設定する際は、主に 3 つの選択肢があります。

抽出方法

BigQuery Data Transfer Service では、Teradata から BigQuery へのデータ転送に関して 2 つの抽出方法をサポートしています。

  1. JDBC ドライバと FastExport 接続を使用した抽出。このモードでは、テーブルが AVRO ファイルのコレクションとしてローカル ファイル システム上の指定の場所に抽出されます。抽出されたファイルは、指定の Cloud Storage バケットにアップロードされます。転送が成功すると、ローカル ファイル システムからファイルが削除されます。
    • ローカル ファイル システムの容量に対する制限が厳格に適用され、抽出されたファイルがアップロードされてローカル ファイル システムから削除されるまで、抽出は一時停止されます。
    • ローカルのストレージ容量がかなり制約されている場合、または TPT を使用できない場合は、この抽出方法を使用してください。
    • JDBC ドライバと FastExport による抽出は、デフォルトの抽出方法です。
  2. Teradata Parallel Transporter(TPT)の tbuild ユーティリティを使用した抽出。このモードでは、エージェントがパーティションで分散された行を使用して抽出バッチの計算を試みます。バッチごとに TPT 抽出スクリプトが発行されて実行され、一連のパイプ区切りファイルが生成されます。各バッチが抽出されるたびに、ファイルが指定の Cloud Storage バケットにアップロードされます。アップロードが完了すると、そのファイルがローカル ファイル システムから削除されます。ローカル ファイル システムの容量には制限が適用されません。したがって、Teradata テーブルの最大のパーティションを抽出するのに十分な容量がローカル ファイル システムにあることを確認する必要があります。
    • TPT を使用して抽出し、スキーマをカスタマイズしてパーティションの列を指定することをおすすめします。これにより、最短時間でデータを抽出できます。

抽出方法の指定について詳しくは、転送の設定手順の移行エージェントの構成セクションをご覧ください。

カスタム スキーマ ファイル

スキーマ ファイルは、データベース オブジェクトを記述する JSON ファイルです。スキーマには、一連のデータベースが含まれ、各データべースに一連のテーブルが含まれます。各テーブルには、一連の列が含まれます。各列には type フィールドがあります。BigQuery 内の列には、このフィールドで指定されている型が割り当てられます。

スキーマ ファイル内の各オブジェクトには name フィールドがあります。BigQuery 内のオブジェクトには、このフィールドで指定されている名前が割り当てられます。各オブジェクトには originalName フィールドもあります。このフィールドには、Teradata データベース内の対応するオブジェクトの名前を示します。

BigQuery Data Transfer Service は、Teradata から BigQuery へのデータ転送中に自動的にスキーマを検出してデータを変換します。必要に応じて、カスタム スキーマ ファイルを指定することもできます。場合によっては、スキーマをカスタマイズすることを強くおすすめします。例:

  • テーブルに関する追加情報(スキーマが指定されていないと移行中に損失してしまうパーティショニングなど)を含めるには、カスタム スキーマ ファイルが特に役立ちます。
  • 任意のオブジェクトの name フィールドや、任意の列の usageType 配列をデータ転送中に転送するには、フィールドを転送するためのカスタム スキーマ ファイルを提供するという方法を選択できます。
  • 詳細については、カスタム スキーマ ファイルをご覧ください。

オンデマンド転送または増分転送

Teradata データベース インスタンスから BigQuery にデータを移行する際に、BigQuery Data Transfer Service では 1 回限りのスナップショット データ転送(「オンデマンド転送」)と定期的に繰り返される新規および更新された行の転送(「増分転送」)の両方を使用できます(増分転送はベータ版です)。転送の設定時にスケジュールのオプションで、転送をオンデマンド転送または増分転送として指定します。

  • データのオンデマンド転送
    • テーブルのサイズが非常に大きく、パフォーマンス向上のために TPT を使用して抽出できる場合、Teradata テーブルをパーティショニングしてパーティションごとに抽出できるようにすることをおすすめします。詳細については、カスタム スキーマ ファイルをご覧ください。
    • テーブルのサイズが小さい場合や TPT を使用できない場合は、基本的な手順に従ってください。この場合、スキーマのカスタマイズは必要ありません。
  • データの増分転送
    • Teradata から BigQuery に定期的に変更を移行するには、増分モードを使用できます。定期的に Teradata の新しいレコードと変更されたレコードが BigQuery テーブルに追加されます。
    • この方法を使用する場合、スキーマをカスタマイズして COMMIT_TIMESTAMP 列にアノテーションを追加する必要があります。
    • 増分転送を設定する際は、特定の条件が適用されます。詳細については、増分転送をご覧ください。

Teradata 移行の設定

このセクションでは、Teradata から BigQuery へのデータ移行を設定するプロセスをステップごとに説明します。ステップは次のとおりです。

  • 移行エージェントをダウンロードします。
  • BigQuery Data Transfer Service 転送を設定します。
  • 移行エージェントを初期化します。
  • 移行エージェントを実行します。

移行エージェントのダウンロード

このリンクから移行エージェントをデータ ウェアハウスがあるローカルマシンにダウンロードします。

移行エージェントをインストールしたら、BigQuery Data Transfer Service 転送を設定し、移行エージェントを初期化してから、エージェントを実行し、データの移行を開始します。

転送の設定

BigQuery Data Transfer Service で転送を作成します。

コンソール

  1. Cloud Console で、BigQuery ページに移動します。

    BigQuery ページに移動

  2. [転送] をクリックします。

  3. [転送を作成] をクリックします。

  4. [ソースの種類] で次の操作を行います。

    • [Migration: Teradata] を選択します。
    • [転送構成名] に、転送の表示名(例: My Migration)を入力します。表示名には、後で修正が必要になった場合に転送を簡単に識別できるよう、任意の名前を使用できます。
    • (省略可)[スケジュール オプション] は、デフォルト値の [毎日](作成時刻に基づく)のままにするか、別の時間を選択します。
    • [宛先設定] で、該当するデータセットを選択します。

      新しい Teradata 移行の概要。

  5. [データソースの詳細] の各項目に、Teradata の転送について具体的な詳細情報を入力します。

    • [データベース タイプ] で、[Teradata] を選択します。
    • [Cloud Storage バケット] については、移行データをステージングするための Cloud Storage バケットの名前を探索します。接頭辞 gs:// は入力しないでください。バケット名のみを入力してください。
    • [データベース名] に、Teradata のソース データベースの名前を入力します。
    • [Table name patterns] に、ソース データベース内のテーブル名を照合するためのパターンを入力します。正規表現を使用してパターンを指定できます。このパターンは、Java の正規表現の構文に従っている必要があります。
    • [サービス アカウントのメールアドレス] に、作成した IAM サービス アカウントに関連付けられるメールアドレスを入力します。
    • (省略可)スキーマ ファイルのパスには、JSON スキーマ ファイルのパスとファイル名を入力します。スキーマ ファイルが入力されていない場合、BigQuery は転送されるソースデータを使用してテーブル スキーマを自動的に検出します。以下のスクリーン ショットの例に示すように、独自のスキーマ ファイルを作成するか、移行エージェントを使用してスキーマ ファイルを作成できます。スキーマ ファイルの作成については、移行エージェントの初期化セクションをご覧ください。

      新しい Teradata の移行

    • (省略可)[通知オプション] セクションで、次の操作を行います。

      • 切り替えボタンをクリックしてメール通知を有効にします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
      • [Pub/Sub トピックを選択してください] で、トピック名を選択するか、[トピックを作成する] をクリックします。このオプションで、Pub/Sub の転送実行通知を構成します。

        Pub/Sub トピック

  6. [保存] をクリックします。

  7. この転送のリソース名を含むすべての転送設定の詳細が Cloud Console に表示されます。後で移行エージェントを実行するときに入力する必要があるため、リソース名を書き留めておきます。

    転送確認

従来の UI

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [Transfers] をクリックします。

  3. [Add Transfer] をクリックします。

  4. [New Transfer] ページで次の操作を行います。

    • [Source] で、[Migration: Teradata] を選択します。
    • [表示名] に、転送名(例: My Migration)を入力します。表示名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • (省略可)[スケジュール] では、デフォルト値の 24 時間ごと(作成時刻に基づく)のままにするか、[編集] をクリックして時間を変更します。

      クエリ スケジュール

    • [宛先データセット] で、該当するデータセットを選択します。

    • [データベース タイプ] で、[Teradata] を選択します。

    • [Cloud Storage バケット] には、移行データをステージングするための Cloud Storage バケットの名前を入力します。接頭辞 gs:// は含めないでください。バケット名のみを入力してください。

    • [データベース名] に、Teradata のソース データベースの名前を入力します。

    • [Table name patterns] に、ソース データベース内のテーブル名を照合するためのパターンを入力します。正規表現を使用してパターンを指定できます。このパターンは、Java の正規表現の構文に従っている必要があります。

    • [サービス アカウントのメールアドレス] に、作成した IAM サービス アカウントに関連付けられるメールアドレスを入力します。

    • (省略可)スキーマ ファイルのパスには、JSON スキーマ ファイルのパスとファイル名を入力します。スキーマ ファイルが入力されていない場合、BigQuery は転送されるソースデータを使用してテーブル スキーマを自動的に検出します。以下のスクリーン ショットの例に示すように、独自のスキーマ ファイルを作成するか、移行エージェントを使用してスキーマ ファイルを作成できます。スキーマ ファイルの作成については、移行エージェントの初期化セクションをご覧ください。

      新しい Teradata の移行

    • (省略可)[Advanced] セクションを展開し、転送の実行通知を構成します。

    • [Cloud Pub/Sub topic] に、Cloud Pub/Sub トピックの名前(例: projects/myproject/topics/mytopic)を入力します。

    • [メール通知を送信する] をオンにして、転送の実行が失敗した場合のメール通知を許可します。

      Cloud Pub/Sub トピック

  5. [追加] をクリックします。

  6. プロンプトが表示されたら、[許可] をクリックし、転送の管理権限を BigQuery Data Transfer Service に付与します。権限ウィンドウが表示されるように、ブラウザで bigquery.cloud.google.com からのポップアップを許可する必要があります。

    転送の許可

  7. 転送のリソース名を含め、転送設定の詳細すべてが Cloud Console に表示されます。 リソース名をメモします。後で移行エージェントを実行するときに入力する必要があります。

    転送確認

bq

bq mk コマンドを入力して、転送作成フラグ --transfer_config を指定します。次のフラグも必要です。

  • --data_source
  • --display_name
  • --target_dataset
  • --params
bq mk \
--transfer_config \
--project_id=project ID \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data source

ここで

  • project ID はプロジェクト ID です。--project_id で特定のプロジェクトを指定しない場合は、デフォルトのプロジェクトが使用されます。
  • datasetは、転送構成の対象のデータセット(--target_dataset)です。
  • name は、転送構成の表示名(--display_name)です。転送の表示名には、後で修正が必要になった場合に転送を簡単に識別できるよう、任意の名前を使用できます。
  • parameters には、作成される転送構成のパラメータ(--params)を JSON 形式で指定します。例: --params='{"param":"param_value"}'
    • Teradata の移行では、次のパラメータが必要です。bucketdatabase_typeagent_service_accountdatabase_nametable_name_patterns
      • bucket は、移行中にステージング領域として機能する Cloud Storage バケットです。
      • database_type は、Teradata です。
      • agent_service_account は、作成したサービス アカウントに関連付けられたメールアドレスです。
      • database_name は、Teradata のソース データベースの名前です。
      • table_name_patterns は、ソース データベース内のテーブル名を照合するためのパターンです。正規表現を使用してパターンを指定できます。このパターンは、Java の正規表現の構文に従っている必要があります。
  • data_source は、データソース(--data_source)です。on_premises

たとえば、次のコマンドは、Cloud Storage バケット mybucket とターゲット データセット mydataset を使用して、My Transfer という名前の Teradata 転送を作成します。転送は Teradata データ ウェアハウス mydatabase からすべてのテーブルを移行します。オプションのスキーマ ファイルは myschemafile.json です。

bq mk \
--transfer_config \
--project_id=123456789876 \
--target_dataset=MyDataset \
--display_name='My Migration' \
--params='{"bucket": "mybucket", "database_type": "Teradata",
"database_name":"mydatabase", "table_name_patterns": ".*",
"agent_service_account":"myemail@mydomain.com", "schema_file_path":
"gs://mybucket/myschemafile.json"}' \
--data_source=on_premises

コマンドを実行すると、次のようなメッセージが表示されます。

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

指示に従って、認証コードをコマンドラインに貼り付けます。

API

projects.locations.transferConfigs.create メソッドを使用して、TransferConfig リソースのインスタンスを指定します。

移行エージェント

必要に応じて、[移行エージェントの初期化] セクションで、移行エージェントから直接転送を作成できます。

移行エージェントからの転送を作成するには、まず IAM ロール serviceAccessTokenCreator を作成したサービス アカウントに付与する必要があります。

次の 2 つの方法のいずれかで IAM ロールを付与できます。

gcloud projects add-iam-policy-binding user_project_id \
--member='serviceAccount:service-user_project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' \
--role='roles/iam.serviceAccountTokenCreator'

サービス アカウントに serviceAccessTokenCreator 権限を付与したら、移行エージェントのダウンロードに進み、初期化手順の一環として転送を設定できます。

移行エージェントの初期化

初めてデータの移行を開始する場合は、移行エージェントを初期化します。初期化は移行転送を設定するたびに 1 回だけ必要です。繰り返し発生するかどうかには関係ありません。

このセッションでは移行は開始されません。これは初期設定用です。

  1. 新しいセッションを開きます。コマンドラインで、以下のフラグを指定して jar ファイルを実行するコマンドを発行します。

    java -cp \
    OS-specific-separated-paths-to-jars (JDBC and agent) \
    com.google.cloud.bigquery.dms.Agent \
    --initialize
    

    Unix、Linux、Mac OS

    java -cp \
    /usr/local/migration/Teradata/JDBC/tdgssconfig.jar:/usr/local/migration/Teradata/JDBC/terajdbc4.jar:/usr/local/migration/mirroring-agent.jar \
    com.google.cloud.bigquery.dms.Agent \
    --initialize
    

    Windows

    すべてのファイルを C:\migration フォルダにコピーして(またはコマンドのパスを修正して)、次を実行します。

    java -cp C:\migration\tdgssconfig.jar;C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --initialize
    
  2. プロンプトが表示されたら、次のパラメータを入力します。

    • Teradata Parallel Transporter(TPT)テンプレートをディスクに保存するかどうか。TPT による抽出方法の使用を計画している場合、Teradata インスタンスに適したパラメータを使用して、保存されたテンプレートを変更できます。
    • ソース データベースの URI。必要に応じて、ポート番号も入力します。
    • 移行用のローカル スクラッチ スペースへのパス。ステージング スペースの要件で説明されている推奨する最小限のストレージ スペースがあることを確認します。
    • 抽出方法として Teradata Parallel Transporter(TPT)を使用するかどうか。
    • (省略可)データベースの認証情報ファイルへのパス。
  3. BigQuery Data Transfer Service のリソース名の入力を求められた場合:

    Cloud Console で構成した転送のリソース名を入力することも、移行エージェント自体を使用して転送を作成することもできます。必要に応じて、移行エージェント初期化コマンドを使用してスキーマ ファイルを作成できます。このオプションについては、以下の [移行エージェント] タブをご覧ください。

    Console

    [移転の設定] のセクションのコンソール タブで設定した移転のリソース名を入力します。

    従来の UI

    [移転の設定] のセクションの Classic UI タブで設定した移転のリソース名を入力します。

    移行エージェント

    • Google Cloud プロジェクト ID を入力します。
    • Teradata にソース データベースの名前を入力します。
    • ソース データベース内のテーブル名と照合するためのパターンを入力します。正規表現を使用してパターンを指定できます。このパターンは、Java の正規表現の構文に従っている必要があります。
    • 省略可: ローカルの JSON スキーマ ファイルへのパスを入力します(定期的な転送に推奨)。このスキーマ ファイルは Cloud Storage バケットにアップロードされます。
      • 新しいスキーマ ファイルの作成を選択します。この場合、Teradata のユーザー名とパスワードを求められ、エージェントはスキーマが変換された JSON ファイルを生成します。ファイルは、次のパターンに従ってローカルフォルダに作成されます: <localpath>/schema/DO_NOT_REMOVE_td2bq_table_schemas_<string>.json。Cloud Storage バケットにアップロードした後、パスとファイル名は次のパターンに従います: gs://mybucket/myproject_id/schema/DO_NOT_REMOVE_td2bq_table_schemas_<string>.json
      • スキーマ ファイルを変更して、パーティショニング、クラスタ化、主キー、変更トラッキング列をマークし、このスキーマを転送構成に使用することを確認します。ヒントについては、任意のスキーマ ファイルをご覧ください。
    • BigQuery に宛先のデータセットの名前を入力します。
    • BigQuery に読み込む前に移行データをステージングする Cloud Storage バケットの名前を入力します。
    • 転送構成の名前を入力します。
  4. リクエストされたすべてのパラメータを入力すると、移行エージェントは構成ファイルを作成し、パラメータで指定されたローカルパスに配置されます。構成ファイルの詳細については、次のセクションをご覧ください。

移行エージェントの構成ファイル

初期化ステップで作成される構成ファイルは次の例のようになります。


   {
    "agent-id": "0eebc1ad-621d-4386-87f1-8eca96991f63",
    "transfer-configuration": {
      "project-id": "123456789876",
      "location": "us",
      "id": "5d533a90-0000-2e89-89a0-94eb2c059a76"
    },
    "source-type": "teradata",
    "console-log": false,
    "silent": false,
    "teradata-config": {
      "connection": {
       "host": "localhost"
      },
      "local-processing-space": "extracted",
      "database-credentials-file-path": "",
      "max-local-storage": "200GB",
      "use-tpt": false,
      "max-sessions": 0,
      "max-parallel-upload": 1,
      "max-unload-file-size": "2GB"
     }
   }
   

移行エージェント構成ファイルのすべてのオプション

  • transfer-configuration: BigQuery Data Transfer Service のこの転送構成についての情報。
  • teradata-config: この Teradata の抽出に固有の情報。

    • connection: ホスト名とポートに関する情報
    • local-processing-space: Cloud Storage にアップロードする前に、エージェントがテーブルデータを抽出する先の抽出フォルダー。
    • database-credentials-file-path:(省略可)Teradata データベースに自動的に接続するための認証情報を含むファイルのパス。ファイルには次の 2 行が含まれている必要があります。例:
      username=abc
      password=123
      
      認証情報ファイルを使用する場合は、暗号化されないため、ローカル ファイル システム上で保存するフォルダへのアクセスを制御するように注意してください。パスが指定されていない場合、エージェントを開始するときにユーザー名とパスワードを求められます。
    • max-local-storage: 指定されたステージング ディレクトリでの抽出に使用するローカル ストレージの最大容量。デフォルト値は 200GB です。サポートされている形式は numberKB|MB|GB|TB です。

      すべての抽出モードで、ファイルは Cloud Storage にアップロードされた後、ローカルのステージング ディレクトリから削除されます。

      実際のステージング スペースの容量は、抽出の方法によって異なります。

      • デフォルトの抽出方法(FastExport 付き JDBC ドライバ)では、データの小さなかたまりが書き込まれ、指定された Cloud Storage バケットに継続的にアップロードされます。指定した max_local_storage の制限に達すると、抽出が一時停止します。
      • パーティショニング列のない Teradata Parallel Transporter(TPT)を使用した抽出では、max_local_storage の設定に関係なく、テーブル全体が抽出されます。
      • パーティショニング列のある Teradata Parallel Transporter(TPT)を使用した抽出では、エージェントがパーティションのセットを抽出します。ステージング ストレージの要件は、max_local_storage の大きい方か、CSV 形式に抽出されたテーブルの最大パーティションのサイズによります。
    • use-tpt: 抽出方法として Teradata Parallel Transporter(TPT)を使用するように移行エージェントに指示します。

      テーブルごとに、移行エージェントは TPT スクリプトを生成し、tbuild プロセスを開始して、完了を待ちます。tbuild プロセスが完了すると、エージェントは抽出されたファイルを一覧表示して Cloud Storage にアップロードしてから、TPT スクリプトを削除します。

      TPT 抽出方法を使用するには:

      • 移行エージェントが tbuild プロセスを使用して開始できるように、tbuild ユーティリティをインストールして使用できる状態にしてください。
      • ローカル抽出フォルダには、最大のテーブルのパーティションを CSV 形式で抽出するための十分なスペースが必要です。フォーマットの実行により、CSV ファイルは Teradata の元のテーブルのサイズよりも大きくなります。
    • max-sessions: エクスポート ジョブ(FastExport または TPT)で使用されるセッションの最大数を指定します。0 に設定すると、Teradata データベースは各エクスポート ジョブのセッションの最大数を決定します。

    • max-parallel-uploads: 並行して Cloud Storage にアップロードされるファイルの数を決定します。ネットワーク帯域幅とその他の設定(DLP スキャンなど)によっては、このパラメータを大きくすることでパフォーマンスが向上する可能性があります。

    • max-unload-file-size: 抽出されるファイルの最大サイズを決定します。このパラメータは TPT 抽出には適用されません。

移行エージェントの実行

移行エージェントを初期化して構成ファイルを作成したら、次のステップでエージェントを実行し、移行を開始します。

  1. JDBC ドライバへのクラスパスと前の初期化ステップで作成した構成ファイルへのパスを使用して、エージェントの実行を開始します。

    java -cp \
    OS-specific-separated-paths-to-jars (JDBC and agent) \
    com.google.cloud.bigquery.dms.Agent \
    --configuration_file=path to configuration file
    

    Unix、Linux、Mac OS

    java -cp \
    /usr/local/migration/Teradata/JDBC/tdgssconfig.jar:/usr/local/migration/Teradata/JDBC/terajdbc4.jar:mirroring-agent.jar \
    com.google.cloud.bigquery.dms.Agent \
    --configuration_file=config.json
    

    Windows

    すべてのファイルを C:\migration フォルダにコピーして(またはコマンドのパスを修正して)、次を実行します。

    java -cp C:\migration\tdgssconfig.jar;C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --configuration_file=config.json
    

    移行を進める準備ができたら、Enterを押します。初期化中に指定されたクラスパスが有効であれば、エージェントは続行します。

  2. プロンプトが表示されたら、データベース接続のユーザー名とパスワードを入力します。ユーザー名とパスワードが有効であれば、データの移行が開始されます。

    省略可 移行を開始するコマンドでは、毎回ユーザー名とパスワードを入力する代わりに、認証情報ファイルをエージェントに渡すフラグを使用することもできます。詳しくは、エージェント設定ファイルの省略可能なパラメータ database-credentials-file-path をご覧ください。認証情報ファイルを使用する場合は、暗号化されないため、ローカル ファイル システム上でファイルを保存するフォルダへのアクセスを制限するために適切な措置を講じてください。

  3. 移行が完了するまで、このセッションを開いたままにしてください。定期的な移行転送を作成した場合は、このセッションを無期限に開いたままにしてください。このセッションが中断されると、現在と将来の転送は失敗します。

  4. エージェントが動作しているかどうかを定期的にモニタリングします。転送の進行中に、24 時間以内にエージェントの応答がない場合、転送は失敗します。

  5. 転送の進行中であるか、スケジュールされている場合、移行エージェントが終了すると、Cloud Console にエラーのステータスが表示され、エージェントを再起動するように求められます。移行エージェントを再起動するには、移行エージェントの実行のコマンドを使用して、このセクション移行エージェントの実行の最初からやり直します。初期化コマンドを繰り返す必要はありません。転送は、テーブルが完了しなかった時点から再開されます。

移行の進行状況のトラッキング

移行のステータスは Cloud Console で確認できます。Pub/Sub またはメール通知を設定することもできます。BigQuery Data Transfer Service の通知をご覧ください。

BigQuery Data Transfer Service は、転送構成の作成時に指定されたスケジュールで転送をスケジューリングして開始します。転送がアクティブなときに、移行エージェントが実行されていることが重要です。24 時間以内にエージェント側からの更新がない場合、転送は失敗します。

Cloud Console の移行ステータスの例:

移行ステータス

移行エージェントのアップグレード

新しいバージョンの移行エージェントが使用可能な場合は、手動で移行エージェントを更新する必要があります。BigQuery Data Transfer Service に関する通知を受け取るには、リリースノートに登録してください。

次のステップ