本文為您介紹通過DataWorks的數(shù)據(jù)集成功能,從RDS MySQL導(dǎo)入數(shù)據(jù)至圖數(shù)據(jù)庫GDB。

前提條件

操作步驟

  1. 配置同步任務(wù)腳本
    1. 單擊目標(biāo)DataWorks工作空間所在行操作列的進(jìn)入數(shù)據(jù)開發(fā)
    2. 創(chuàng)建離線同步節(jié)點(diǎn),具體請參見離線同步節(jié)點(diǎn)
    3. 選擇數(shù)據(jù)源向?qū)拢瑘?zhí)行以下操作。
      • 數(shù)據(jù)來源區(qū)域,選擇數(shù)據(jù)源類型MySQL數(shù)據(jù)源為已配置完成的MySQL數(shù)據(jù)源。
      • 數(shù)據(jù)去向區(qū)域,選擇數(shù)據(jù)源類型GDB數(shù)據(jù)源為已配置完成的GDB數(shù)據(jù)源。
        說明 圖數(shù)據(jù)庫GDB當(dāng)前僅支持通過腳本模式配置數(shù)據(jù)去向,具體請參見通過腳本模式配置任務(wù)
        1. 單擊工具欄提示信息中的點(diǎn)擊轉(zhuǎn)換為腳本
        2. 在配置腳本頁面,編輯同步任務(wù)參數(shù)。
          以下示例配置是同步數(shù)據(jù)源mysql_loader中數(shù)據(jù)表comment到GDB數(shù)據(jù)源gdb_loader中,將表數(shù)據(jù)轉(zhuǎn)換成GDB的點(diǎn),表中部分列映射為點(diǎn)的屬性。
          {
              "type": "job",
              "steps": [
                  {
                      "stepType": "mysql",               // 數(shù)據(jù)來源類型
                      "parameter": {
                          "datasource": "mysql_loader",  // mysql數(shù)據(jù)源
                          "column": [                    // 讀取的數(shù)據(jù)表列名
                              "node_id",
                              "node_label",
                              "m_id",
                              "imagefile",
                              "creationDate"
                          ],
                          "connection": [                 // 連接信息
                              {
                                  "datasource": "mysql_loader",
                                  "table": [              // 讀取的數(shù)據(jù)庫表
                                      "post"
                                  ]
                              }
                          ],
                          "where": "",
                          "splitPk": "",
                          "encoding": "UTF-8"
                      },
                      "name": "Reader",
                      "category": "reader"
                  },
                  {
                      "stepType": "gdb",                           // 數(shù)據(jù)去向類型
                      "parameter": {
                          "datasource": "gdb_loader",              // gdb數(shù)據(jù)源
                          "session": true,                         // 使用GDB的批量事務(wù)模式
                          "column": [                              // 到GDB數(shù)據(jù)的映射規(guī)則
                              {
                                  "columnType": "primaryKey",      // 主鍵ID映射
                                  "name": "id",
                                  "type": "string",                // 主鍵值類型,配置為非string類型會導(dǎo)致異常。
                                  "value": "#{0}"                  // 主鍵映射列序號
                              },
                              {
                                  "columnType": "vertexProperty",  // 點(diǎn)屬性映射
                                  "name": "m_id",                  // 屬性名
                                  "type": "string",                // 屬性值類型
                                  "value": "#{2}"                  // 屬性值映射列序號
                              },
                              {
                                  "columnType": "vertexProperty",  // 點(diǎn)屬性映射
                                  "name": "imagefile",             // 屬性名
                                  "type": "string",                // 屬性值類型
                                  "value": "#{3}"                  // 屬性值映射列序號
                              },
                              {
                                  "columnType": "vertexProperty",  // 點(diǎn)屬性映射
                                  "name": "creationDate",          // 屬性名
                                  "type": "long",                  // 屬性值類型
                                  "value": "#{4}"                  // 屬性值映射列序號
                              }
                          ],
                          "labelType": "VERTEX",                   // 導(dǎo)入GDB數(shù)據(jù)類型,可選VERTEX和EDGE。
                          "maxRecordsInBatch": 32,                 // 批量事務(wù)中一次事務(wù)更新的記錄數(shù),在打開批量事務(wù)時(shí)有效,建議使用默認(rèn)值。
                          "label": "#{1}",                         // 導(dǎo)入數(shù)據(jù)點(diǎn)名稱label,可直接提供常量字符串如果本次導(dǎo)入的點(diǎn)名稱相同。
                          "writeMode": "INSERT",                   // 寫入數(shù)據(jù)類型,INSERT模式時(shí)重復(fù)寫入會報(bào)錯(cuò)。
                          "idTransRule": "none"                    // 主鍵ID映射規(guī)則,配置none表示保持原配置的映射值。
                      },
                      "name": "Writer",
                      "category": "writer"
                  }
              ],
              "version": "2.0",
              "order": {
                  "hops": [
                      {
                          "from": "Reader",
                          "to": "Writer"
                      }
                  ]
              },
              "setting": {
                  "speed": {
                      "record": "3000"
                  },
                  "route": "zhangbei"  //zhangbei為地域名稱,您需要將其修改為圖數(shù)據(jù)庫GDB實(shí)例所在地域名稱。
              }
          }
    4. 單擊保存,并單擊提交
  2. 執(zhí)行同步任務(wù)腳本
    1. 單擊腳本窗口右側(cè)導(dǎo)航欄的基本配置,在彈出窗口選擇資源組
    2. 單擊運(yùn)行,開始導(dǎo)入RDS MySQL數(shù)據(jù)至圖數(shù)據(jù)庫GDB。
    說明
    • 如果配置以及網(wǎng)絡(luò)環(huán)境正確,您將看到周期性的同步信息輸出,最后同步完成時(shí)會輸出任務(wù)的統(tǒng)計(jì)信息。
    • 如果您只需要導(dǎo)入少量測試數(shù)據(jù)到GDB,也可以使用GDB的外網(wǎng)地址創(chuàng)建數(shù)據(jù)源,使用默認(rèn)資源組運(yùn)行導(dǎo)入任務(wù)。但由于外網(wǎng)環(huán)境復(fù)雜,且延時(shí)較高,不能保障服務(wù)質(zhì)量,僅限于測試使用。