数据同步前准备
如果需要导入MaxCompute表至Maxgraph,请先在源端MaxCompute项目中授予Maxgraph build账号读取源端MaxCompute表的权限。请联系Maxgraph管理员提供关于授权的Maxgraph build账号。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
附录:Maxgraph脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
Writer脚本Demo
Maxgraph中点和边的导入配置不一致,所以Maxgraph Writer需要区分点和边。
点配置示例
{
"job": {
"setting": {
"speed": {
"channel": 1
},
"errorLimit": {
"record": 1000
}
},
"content": [
{
"reader": {
"name": "odpsreader",
"parameter": {
"accessId": "*****",
"accessKey": "*****",
"project": "maxgraph_dev",
"table": "maxgraph_demo_person",
"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": [
"id",
"name",
"age"
]
}
}
}
]
}
}
边配置示例
{
"job": {
"setting": {
"speed": {
"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",
"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。两者区别如下: | 否 | type |
column | 点的属性名,仅导入点时使用。 | 是 | 无 |
name | 属性的名称。 | 仅导入边时必填 | 无 |
propertyType | 属性的类型,包括srcPrimaryKey、dstPrimaryKey和edgeProperty。 | 仅导入边时必填 | 无 |
srcPrimaryKey | 起点主键,仅导入边时使用。 | 仅导入边时必填 | 无 |
dstPrimaryKey | 终点主键,仅导入边时使用。 | 仅导入边时必填 | 无 |
edgeProperty | 边的属性,如果边没有属性,可以不填。 | 否 | 无 |