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

MaxCompute:OSS から MaxCompute への JSON データの移行

最終更新日:Jul 18, 2026

DataWorks Data Integration を使用すると、OSS から MaxCompute へ JSON データを移行できます。移行後は、組み込みの文字列関数 GET_JSON_OBJECT を使用して JSON データから情報を抽出できます。

前提条件

  • MaxCompute が有効化されています

  • DataWorks にワークフローが作成済みであること。本例では基本モードのワークスペースを使用します。詳細については、「ワークフローの作成」をご参照ください。

  • .txt 拡張子を持つ JSON ファイルが OSS にアップロード済みであること。本例では、OSS バケットは中国 (上海) リージョンにあります。サンプルファイル:

    {
        "store": {
            "book": [
                 {
                    "category": "reference",
                    "author": "Nigel Rees",
                    "title": "Sayings of the Century",
                    "price": 8.95
                 },
                 {
                    "category": "fiction",
                    "author": "Evelyn Waugh",
                    "title": "Sword of Honour",
                    "price": 12.99
                 },
                 {
                     "category": "fiction",
                     "author": "J. R. R. Tolkien",
                     "title": "The Lord of the Rings",
                     "isbn": "0-395-19395-8",
                     "price": 22.99
                 }
              ],
              "bicycle": {
                  "color": "red",
                  "price": 19.95
              }
        },
        "expensive": 10
    }

JSON データの移行

  1. OSS データソースを追加します。詳細については、「OSS データソースの構成」をご参照ください。

  2. 移行した JSON データを格納するためのテーブルを DataWorks に作成します。

    1. DataWorks コンソールにログインします。対象リージョンで、左側のナビゲーションウィンドウから データ開発と О&М > データ開発 をクリックします。ドロップダウンリストからワークスペースを選択し、移動 データ開発 をクリックします。

    2. データソース をクリックして データソース ページに移動し、データソースの新規作成 をクリックして MaxCompute プロジェクトを追加します。

    3. Add Data Source and Bind to Data Development をクリックしてバインドを完了します。

    4. データ開発 ページで、image..png アイコンにポインターを合わせ、テーブルの作成 > テーブル の順に選択します。

    5. テーブルの作成 ダイアログボックスで、パス を選択し、名前 を入力して、作成 をクリックします。

      説明

      複数のインスタンスがバインドされている場合は、MaxCompute エンジンインスタンスを選択する必要があります。

    6. テーブル編集ページで、DDL Statement をクリックします。

    7. DDL モード ダイアログボックスで、次の文を入力し、テーブルスキーマの生成 をクリックします。

      create table mqdata (mq_data string);
    8. 操作の確認 ダイアログボックスで、確認 をクリックします。

    9. テーブルスキーマが生成されたら、基本プロパティ セクションでテーブルの 中国語名 を入力し、開発環境へのコミット および 本番環境へのコミット をクリックします。

      説明

      基本モードのワークスペースを使用している場合は、本番環境へのコミット のみをクリックする必要があります。

  3. バッチ同期ノードを作成します。

    1. データ分析ページに移動します。対象のワークフローを右クリックし、Create Node > Data Integration > Offline synchronization の順に選択します。

    2. Create Node ダイアログボックスで、Name を入力し、Confirm をクリックします。

    3. 上部のナビゲーションバーで、Conversion scriptアイコンを選択します。

    4. スクリプトモードで、**アイコンをクリックします。

    5. import Template ダイアログボックスで、SOURCE typedata sourcetarget type、および data source を指定し、confirm をクリックします。

    6. JSON 構成を変更し、运行 ボタンをクリックします。

      構成例:

      {
          "type": "job",
          "steps": [
              {
                  "stepType": "oss",
                  "parameter": {
                      "fieldDelimiterOrigin": "^",
                      "nullFormat": "",
                      "compress": "",
                      "datasource": "OSS_userlog",
                      "column": [
                          {
                              "name": 0,
                              "type": "string",
                              "index": 0
                          }
                      ],
                      "skipHeader": "false",
                      "encoding": "UTF-8",
                      "fieldDelimiter": "^",
                      "fileFormat": "binary",
                      "object": [
                          "applog.txt"
                      ]
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
                  "stepType": "odps",
                  "parameter": {
                      "partition": "",
                      "isCompress": false,
                      "truncate": true,
                      "datasource": "odps_first",
                      "column": [
                          "mqdata"
                      ],
                      "emptyAsNull": false,
                      "table": "mqdata"
                  },
                  "name": "Writer",
                  "category": "writer"
              }
          ],
          "version": "2.0",
          "order": {
              "hops": [
                  {
                      "from": "Reader",
                      "to": "Writer"
                  }
              ]
          },
          "setting": {
              "errorLimit": {
                  "record": ""
              },
              "speed": {
                  "concurrent": 2,
                  "throttle": false
              }
          }
      }

結果の確認

ODPS SQL ノードを作成します。

  1. ワークフローを右クリックし、new > MaxCompute > ODPS SQL の順に選択します。

  2. create a function ダイアログボックスで、function name を入力し、submit をクリックします。

  3. ODPS SQL ノード構成タブで、次の文を入力します。

    -- Query data in the mqdata table.
    SELECT * from mqdata;
    -- Get the value of the 'expensive' field from the JSON data.
    SELECT GET_JSON_OBJECT(mqdata.mq_data,'$.expensive') FROM mqdata;
  4. ** アイコンをクリックしてコードを実行します。

  5. operation Log で結果を確認できます。