全部產品
Search
文件中心

DataWorks:Maxgraph資料來源

更新時間:Jun 19, 2024

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

使用限制

  • 當前僅支援使用指令碼模式將資料寫入Maxgraph。
  • 當前主要應用情境為同步MaxCompute資料至Maxgraph。

資料同步前準備:Maxgraph帳號許可權配置

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

資料同步任務開發

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

附錄:離線任務指令碼配置方式

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

Maxgraph 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"
                  }
                ]
              }
            }
          }
        ]
      }
    }

Maxgraph Writer指令碼參數

參數描述是否必選預設值
endpointMaxgraph的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邊的屬性,如果邊沒有屬性,可以不填。