日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

JSON數據從MongoDB遷移至MaxCompute

本文為您介紹如何通過DataWorks的數據集成功能,將從MongoDB提取的JSON字段遷移至MaxCompute。

前提條件

在MongoDB上準備測試數據

  1. 賬號準備。

    在數據庫內新建用戶,用于DataWorks添加數據源。本示例執行如下命令。

    db.createUser({user:"bookuser",pwd:"123456",roles:["user1"]})

    新建用戶名為bookuser,密碼為123456,角色為任意擁有訪問數據權限的角色。

  2. 數據準備。

    將數據上傳至MongoDB數據庫。本示例使用阿里云的云數據庫MongoDB版,網絡類型為VPC(需申請公網地址,否則無法與DataWorks默認資源組互通),測試數據如下。

    {
        "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
                }
  3. 在MongoDB的DMS控制臺,本示例使用的數據庫為admin,集合為userlog。執行如下命令,查看已上傳的數據。

    db.userlog.find().limit(10)

通過DataWorks將JSON數據從MongoDB遷移至MaxCompute

  1. 登錄DataWorks控制臺

  2. 在DataWorks上創建目標表。用以接收從MongoDB遷移的數據。

    1. 右鍵單擊已創建的業務流程,選擇新建表 > MaxCompute >

    2. 新建表頁面,選擇引擎類型并輸入表名

    3. 在表的編輯頁面,單擊DDL

    4. DDL模式對話框,輸入建表語句,單擊生成表結構

      重要

      建表語句中的表名稱請與在新建表輸入的表名一致。

      create table mqdata (mqdata string);
    5. 單擊提交到生產環境

  3. 新增MongoDB數據源,詳情請參見配置MongoDB數據源

  4. 創建離線同步節點。

    1. 進入數據開發頁面,右鍵單擊指定業務流程,選擇新建節點 > 數據集成 > 離線同步

    2. 新建節點對話框中,輸入節點名稱,并單擊確認

    3. 在頂部菜單欄上,單擊轉化腳本圖標。

    4. 在腳本模式下,單擊頂部菜單欄上的**圖標。

    5. 導入模板對話框中選擇來源類型數據源目標類型數據源,并單擊確定

    6. 輸入如下腳本。

      {
          "type": "job",
          "steps": [
          {
              "stepType": "mongodb",
              "parameter": {
                  "datasource": "mongodb_userlog",//數據源名稱。
                  "column": [
                      {
                      "name": "store.bicycle.color", //JSON字段路徑,本例中提取color值。
                      "type": "document.String" //非一層子屬性以最終獲取的類型為準。假如您選取的JSON字段為一級字段,例如本例中的expensive,則直接填寫string即可。
                      }
                    ],
                  "collectionName": "userlog"   //集合名稱。
                  },
              "name": "Reader",
              "category": "reader"
              },
              {
                  "stepType": "odps",
                  "parameter": {
                  "partition": "",
                  "isCompress": false,
                  "truncate": true,
                  "datasource": "odps_first",
                  "column": [
                  "mqdata"  //MaxCompute表列名。
                  ],
                  "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,
                  }
                  }
              }
    7. 單擊**圖標運行代碼。

    8. 您可以在運行日志查看運行結果。

驗證結果

  1. 右鍵單擊業務流程,選擇新建節點 > MaxCompute > ODPS SQL

  2. 新建節點對話框中輸入節點名稱,并單擊確認

  3. 在ODPS SQL節點編輯頁面輸入如下語句。

    SELECT * from mqdata;
  4. 單擊**圖標運行代碼。

  5. 您可以在運行日志查看運行結果。