全部產品
Search
文件中心

DataWorks:Maxgraph資料來源

更新時間:Oct 24, 2024

DataWorksData Integration支援使用Maxgraph Writer匯入MaxCompute表資料至Maxgraph,本文為您介紹DataWorks的Maxgraph資料寫入能力。

使用限制

  • 當前僅支援使用指令碼模式將資料寫入Maxgraph。

  • 當前主要應用情境為同步MaxCompute資料至Maxgraph。

資料同步前準備

如果需要匯入MaxCompute表至Maxgraph,請先在源端MaxCompute專案中授予Maxgraph build帳號讀取源端MaxCompute表的許可權。請聯絡Maxgraph管理員提供關於授權的Maxgraph build帳號。

資料同步任務開發

資料同步任務的配置入口和通用配置流程可參見下文的配置指導。

附錄:Maxgraph指令碼Demo與參數說明

離線任務指令碼配置方式

如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。

Writer指令碼Demo

Maxgraph中點和邊的匯入配置不一致,所以Maxgraph Writer需要區分點和邊。

  • 點配置樣本

    {
      "job": {
        "setting": {
          "speed": {
            "channel": 1 //配置channel為1即可。
          },
          "errorLimit": {
            "record": 1000
          }
        },
        "content": [
          {
            "reader": {
              "name": "odpsreader",
              "parameter": {
                "accessId": "*****",
                "accessKey": "*****",
                "project": "maxgraph_dev",
                "table": "maxgraph_demo_person",
                "column": [ //對應MaxCompute表的column名稱,與Writer配置項中的column一一對應。
                  "id",
                  "name",
                  "age"
                ],
                "packageAuthorizedProject": "biggraph_dev",
                "splitMode": "record",
                "odpsServer": "******"
              }
            },
            "writer": {
              "name": "maxgraphwriter",
              "parameter": {
                "endpoint": "http://graph.alibaba.net",
                "graphName": "xxx",
                "accessId": "xxx",
                "accessKey": "xxx",
                "label": "person",
                "labelType": "vertex",
                "onlineMode": "partition",
                "splitSize": "256",
                "column": [ //對應Maxgraph vertex的屬性名稱,與reader配置項中的column一一對應。
                  "id",
                  "name",
                  "age"
                ]
              }
            }
          }
        ]
      }
    }
                            
  • 邊配置樣本

    {
      "job": {
        "setting": {
          "speed": {
            "channel": 1 //配置channel為1即可。
          },
          "errorLimit": {
            "record": 1000
          }
        },
        "content": [
          {
            "reader": {
              "name": "odpsreader",
              "parameter": {
                "accessId": "*****",
                "accessKey": "*****",
                "project": "maxgraph_dev",
                "table": "maxgraph_demo_knows",
                "column": [
                  "person_id",
                  "person_id2",
                  "weight",
                  "id"
                ],
                "packageAuthorizedProject": "biggraph_dev",
                "splitMode": "record",
                "odpsServer": "****"
              }
            },
            "writer": {
              "name": "maxgraphwriter",
              "parameter": {
                "endpoint": "http://graph.alibaba.net",
                "graphName": "xxx",
                "accessId": "xxx",
                "accessKey": "xxx",
                "label": "knows",
                "labelType": "edge",
                "srcLabel": "person",
                "dstLabel": "person",
                "onlineMode": "partition",
                "splitSize": "256",
                "column": [ 
                  {
                    "name": "id", //對應的在graph中的屬性名稱。
                    "propertyType": "srcPrimaryKey" //對應該屬性的類型,主要用來標識是起點、終點還是邊的屬性。
                  },
                  {
                    "name": "id",
                    "propertyType": "dstPrimaryKey"
                  },
                  {
                    "name": "weight",
                    "propertyType": "edgeProperty"
                  },
                  {
                    "name": "id",
                    "propertyType": "edgeProperty"
                  }
                ]
              }
            }
          }
        ]
      }
    }

Writer指令碼參數

參數

描述

是否必選

預設值

endpoint

Maxgraph的URL。

graphName

圖執行個體的名稱。

accessId

使用者名稱。

accessKey

使用者密碼。

label

標籤名,即點或邊的名稱。

labelType

標籤類型,只能選擇vertex或edge其中一種類型。

srcLabel

邊的起點標籤,僅在匯入邊時使用。

dstLabel

邊的終點標籤,僅在匯入邊時使用。

splitSize

建立資料過程中MapReduce作業的分區大小。

256MB

onlineMode

資料上線模式,包括partition和type。兩者區別如下:

  • 以partition模式上線,在上線過程中可能會查詢到舊資料與新資料混合的結果,但是保證最終一致性,上線速度較快。

  • 以type模式上線,只有資料上線成功後才能查詢到新上線的資料,在資料上線過程中只能查詢到舊的資料(假如存在舊的資料),上線速度較慢。

type

column

點的屬性名稱,僅匯入點時使用。

name

屬性的名稱。

僅匯入邊時必填

propertyType

屬性的類型,包括srcPrimaryKey、dstPrimaryKey和edgeProperty。

僅匯入邊時必填

srcPrimaryKey

起點主鍵,僅匯入邊時使用。

僅匯入邊時必填

dstPrimaryKey

終點主鍵,僅匯入邊時使用。

僅匯入邊時必填

edgeProperty

邊的屬性,如果邊沒有屬性,可以不填。