すべてのプロダクト
Search
ドキュメントセンター

Tablestore:OSS への全量データのエクスポート

最終更新日:Sep 09, 2026

この方法を使用すると、コスト効率よくデータをバックアップしたり、ファイルとしてエクスポートしたりできます。エクスポートされたファイルは、ローカルマシンにダウンロードできます。

前提条件

開始する前に、次の準備をしてください。

説明

DataWorks ワークスペースと Tablestore インスタンスが異なるリージョンにある場合は、VPC ピアリング接続を作成して、リージョン間のネットワーク接続を有効にする必要があります。

リージョン間のネットワーク接続のための VPC ピアリング接続の作成

次の例では、ソーステーブルのインスタンスが中国 (上海) リージョンにあり、DataWorks ワークスペースが中国 (杭州) リージョンにある場合の設定方法を示します。

  1. VPC を Tablestore インスタンスにアタッチします。

    1. Tablestore コンソールにログインします。上部のナビゲーションバーで、ターゲットテーブルが配置されているリージョンを選択します。

    2. インスタンスのエイリアスをクリックして、[インスタンス管理] ページに移動します。

    3. [ネットワーク管理] タブで、[VPC のアタッチ] をクリックします。VPC と vSwitch を選択し、VPC 名を入力して、[OK] をクリックします。

    4. VPC がアタッチされるのを待ちます。ページが自動的に更新され、VPC リストに [VPC ID] と [VPC エンドポイント] が表示されます。

      説明

      DataWorks コンソールで Tablestore データソースを追加するときは、この VPC エンドポイントを使用する必要があります。

      image

  2. DataWorks ワークスペースリソースグループの VPC 情報を取得します。

    1. DataWorks コンソールにログインします。上部のナビゲーションバーで、ワークスペースが配置されているリージョンを選択します。左側のナビゲーションウィンドウで、[ワークスペース] をクリックして [ワークスペースリスト] ページに移動します。

    2. ワークスペース名をクリックして [ワークスペース詳細] ページに移動します。左側のナビゲーションウィンドウで、[リソースグループ] をクリックして、ワークスペースにアタッチされているリソースグループを表示します。

    3. ターゲットリソースグループの右側にある [ネットワーク設定] をクリックします。[リソーススケジューリング & データ統合] セクションで、アタッチされている仮想プライベートクラウドの VPC ID を表示します。

  3. VPC ピアリング接続を作成し、ルートを設定します。

    1. VPC コンソールにログインします。左側のナビゲーションウィンドウで、[VPC ピアリング接続] をクリックし、[ピアリング接続の作成] をクリックします。

    2. [ピアリング接続の作成] ページで、ピアリング接続の名前を入力し、リクエスト元 VPC インスタンス、リクエスト先アカウントタイプ、リクエスト先リージョン、およびリクエスト先 VPC インスタンスを選択します。次に、[OK] をクリックします。

    3. [VPC ピアリング接続] ページで、VPC ピアリング接続を見つけ、[リクエスト元 VPC] および [リクエスト先 VPC] 列の [ルートエントリの設定] をクリックします。

      宛先 CIDR ブロックには、ピア VPC の CIDR ブロックを入力します。たとえば、リクエスト元 VPC のルートエントリを設定する場合は、リクエスト先 VPC の CIDR ブロックを入力します。リクエスト先 VPC のルートエントリを設定する場合は、リクエスト元 VPC の CIDR ブロックを入力します。

操作手順

以下の手順に従って、データエクスポートタスクを設定および実行してください。

ステップ 1: Tablestore データソースの追加

DataWorks で Tablestore データソースを設定して、ソースデータに接続します。

  1. DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、[データ統合] > [データ統合] を選択します。ドロップダウンリストからワークスペースを選択し、[データ統合へ移動] をクリックします。

  2. 左側のナビゲーションウィンドウで、[データソース] をクリックします。

  3. [データソースリスト] ページで、[データソースの追加] をクリックします。

  4. [データソースの追加] ダイアログボックスで、データソースタイプとして [Tablestore] を検索して選択します。

  5. [OTS データソースの追加] ダイアログボックスで、次の表の説明に従ってデータソースパラメーターを設定します。

    パラメーター

    説明

    データソース名

    データソース名は、文字、数字、アンダースコア (_) の組み合わせである必要があります。数字またはアンダースコア (_) で始めることはできません。

    データソースの説明

    データソースの簡単な説明。説明の長さは 80 文字を超えることはできません。

    リージョン

    Tablestore インスタンスが存在するリージョンを選択します。

    Tablestore インスタンス名

    Tablestore インスタンスの名前。

    エンドポイント

    Tablestore インスタンスのエンドポイント。VPC エンドポイントを使用します。

    AccessKey ID

    Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID と AccessKey Secret。

    AccessKey Secret

  6. リソースグループの接続性をテストします。

    データソースを作成するときは、リソースグループの接続性をテストして、同期タスクのリソースグループがデータソースに接続できることを確認する必要があります。そうしないと、データ同期タスクを実行できません。

    1. [接続設定] セクションで、リソースグループの [接続ステータス] 列にある [接続性のテスト] をクリックします。

    2. 接続性テストに合格すると、[接続ステータス] が [接続済み] に変わります。[完了] をクリックします。新しいデータソースがデータソースリストに表示されます。

      接続性テストが [失敗] した場合は、[接続診断ツール] を使用して問題をトラブルシューティングします。

ステップ 2:OSS データソースの追加

データエクスポートの宛先として OSS データソースを設定します。

  1. 再度 [データソースの追加] をクリックします。ダイアログボックスで、データソースタイプとして OSS を検索して選択し、パラメーターを設定します。

    パラメーター

    説明

    データソース名

    名前に使用できるのは、文字、数字、アンダースコア (_) のみで、数字またはアンダースコア (_) で始めることはできません。

    [データソースの説明]

    データソースの簡単な説明を 80 文字以内で入力します。

    [アクセスモード]

    • [RAM ロール権限付与パターン]:DataWorks サービスアカウントは、RAM ロールを引き受けることによってデータソースにアクセスします。このモードを初めて選択する場合は、画面の指示に従って必要な権限を付与してください。

    • アクセスキーモード:Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID と AccessKey Secret を使用してデータソースにアクセスします。

    [ロールの選択]

    アクセスモード が RAM ロール権限付与パターン の場合にのみ、RAM ロールを選択する必要があります。

    AccessKey ID

    Alibaba Cloud アカウントまたは RAM ユーザーのアクセスキー ID とアクセスキー シークレットは、アクセスモード が Access Key モード に設定されている場合にのみ必要です。

    AccessKey シークレット

    リージョン

    バケットが配置されているリージョン。

    エンドポイント

    OSS アクセスドメイン名については、「リージョンとエンドポイント」をご参照ください。

    バケット

    バケットの名前。

  2. パラメーターを設定し、接続テストが成功したら、[完了] をクリックします。

ステップ 3:バッチ同期タスクの設定

バッチ同期タスクを作成および設定して、Tablestore から OSS へのデータ転送を定義します。

タスクノードの作成

  1. [データ開発] ページに移動します。

    1. DataWorks コンソールにログインします。

    2. 上部メニューで、リソースグループとリージョンを選択します。

    3. 左側メニューで、データ開発と O&M > データ開発 をクリックします。

    4. 対応するワークスペースを選択し、[Data Studio へ移動] をクリックします。

  2. Data Studio コンソールの [データ開発] ページで、プロジェクトディレクトリ の右側にある image アイコンをクリックし、[新規ノード] > データ統合 > オフライン同期 を選択します。

  3. [新規ノード] ダイアログボックスで、[パス] を選択します。データソースを Tablestore に、データ宛先を OSS に設定します。[名前] を入力し、[確認] をクリックします。

同期タスクの設定

プロジェクトディレクトリ で、新しいバッチ同期タスクノードをクリックして開きます。コードレス UI またはコードエディタを使用して、同期タスクを設定します。

コードレス UI

次の項目を設定します。

  • データソース:ソースと宛先のデータソースを選択します。

  • [実行中のリソース]:リソースグループを選択します。システムは自動的にデータソースの接続性をテストします。

  • [データソース]:

    • [テーブル]:ドロップダウンリストからソースデータテーブルを選択します。

    • [プライマリキー範囲分布 (開始)]:読み取るプライマリキー範囲の開始。JSON 配列として指定します。値 inf_min は負の無限大を表します。

      プライマリキーが int 型プライマリキー列 (名前:id) と string 型プライマリキー列 (名前:name) で構成されている場合、次の設定例をご参照ください。

      プライマリキー範囲

      全量データ

      [
        {
          "type": "int",
          "value": "000"
        },
        {
          "type": "string",
          "value": "aaa"
        }
      ]
      [
        {
          "type": "inf_min"
        },
        {
          "type": "inf_min"
        }
      ]
    • [プライマリキー範囲分布 (終了)]:読み取るプライマリキー範囲の終了。JSON 配列として指定します。値 inf_max は正の無限大を表します。

      プライマリキーが int 型プライマリキー列 (名前:id) と string 型プライマリキー列 (名前:name) で構成されている場合、次の設定例をご参照ください。

      プライマリキー範囲

      全量データ

      [
        {
          "type": "int",
          "value": "999"
        },
        {
          "type": "string",
          "value": "zzz"
        }
      ]
      [
        {
          "type": "inf_max"
        },
        {
          "type": "inf_max"
        }
      ]
    • [チャンク構成情報]:通常、このパラメーターは不要です。[] に設定してください。

      Tablestore データにホットスポットがあり、自動分割ポリシーが効果的でない場合は、カスタム分割ルールを使用します。これらのルールは、プライマリキー範囲内の分割点を定義します。すべてのプライマリキー列ではなく、分割キーのみを設定する必要があります。

  • [データ転送先]:ターゲットの [テキストタイプ] を選択し、関連するパラメーターを設定します。

    • [テキストタイプ]:オプションには、[csv]、[text]、[orc]、[parquet] があります。

    • [ファイル名 (パスを含む)]:OSS バケット内の宛先ファイルのパスと名前。例:tablestore/resource_table.csv。

    • [列区切り文字]:デフォルトは , です。区切り文字が印字不可能な文字の場合は、\u001b や \u007c などの Unicode エンコーディングを入力します。

    • [ファイルパス]:[parquet] テキストタイプの場合にのみ必須です。OSS バケット内のファイルパスを指定します。

    • [ファイル名]:[parquet] テキストタイプの場合にのみ必須です。OSS バケット内のファイル名を指定します。

  • [宛先フィールドマッピング]:ソーステーブルのフィールドを宛先ファイルにマッピングします。JSON 形式で指定された各行が 1 つのフィールドを表します。

    • [ソースフィールド]:ソーステーブルのプライマリキーフィールドと属性列を含みます。

      プライマリキーが int 型プライマリキー列 (名前:id) と string 型プライマリキー列 (名前:name) で構成され、int 型属性列 (名前:age) がある場合、次の例をご参照ください。

      {"name":"id","type":"int"}
      {"name":"name","type":"string"}
      {"name":"age","type":"int"}
    • [ターゲットフィールド]:ソーステーブルのプライマリキーフィールドと属性列を含みます。

      プライマリキーが int 型プライマリキー列 (名前:id) と string 型プライマリキー列 (名前:name) で構成され、int 型属性列 (名前:age) がある場合、次の例をご参照ください。

      {"name":"id","type":"int"}
      {"name":"name","type":"string"}
      {"name":"age","type":"int"}

設定を完了したら、ページの上部にある保存をクリックします。

スクリプトモード

ページの上部で、コードエディタ をクリックしてスクリプト編集ビューに切り替えます。

次のスクリプト例は、CSV ファイルにエクスポートするためのものです。ソーステーブルのプライマリキーは、int 型列 (名前:id) と string 型列 (名前:name) で構成されています。テーブルには、int 型属性列 (名前:age) も含まれています。スクリプトを使用するときは、datasource、table、および object の値を ご自身の値に置き換えてください。
{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "ots",
            "parameter": {
                "datasource": "source_data",
                "column": [
                    {
                        "name": "id",
                        "type": "int"
                    },
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "age",
                        "type": "int"
                    }
                ],
                "range": {
                    "begin": [
                        {
                            "type": "inf_min"
                        },
                        {
                            "type": "inf_min"
                        }
                    ],
                    "end": [
                        {
                            "type": "inf_max"
                        },
                        {
                            "type": "inf_max"
                        }
                    ],
                    "split": []
                },
                "table": "source_table",
                "newVersion": "true"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "oss",
            "parameter": {
                "dateFormat": "yyyy-MM-dd HH:mm:ss",
                "datasource": "target_data",
                "writeSingleObject": false,
                "column": [
                    {
                        "name": "id",
                        "type": "int"
                    },
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "age",
                        "type": "int"
                    }
                ],
                "writeMode": "truncate",
                "encoding": "UTF-8",
                "fieldDelimiter": ",",
                "fileFormat": "csv",
                "object": "tablestore/source_table.csv"
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "concurrent": 2,
            "throttle": false
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

スクリプトの編集が完了したら、ページ上部の保存をクリックします。

同期タスクの実行

ページ上部の [実行] をクリックして同期タスクを開始します。タスクを初めて実行するときは、[デバッグ設定] を確認する必要があります。

ステップ 4:同期結果の表示

タスクが完了したら、ログで実行ステータスを確認し、OSS バケットで結果ファイルを表示できます。

  1. ページ下部でタスクの実行ステータスと結果を表示します。次のログ情報は、同期タスクが正常に実行されたことを示しています。

    2025-11-18 11:16:23 INFO Shell run successfully!
    2025-11-18 11:16:23 INFO Current task status: FINISH
    2025-11-18 11:16:23 INFO Cost time is: 77.208s
  2. 宛先バケットでファイルを確認します。

    バケットリスト に移動し、宛先バケットをクリックして、結果ファイルを表示またはダウンロードします。

よくある質問

関連トピック