1.快速介绍
图计算服务iGraph是阿里云自主研发的高性能分布式图计算产品,为开发者提供万亿级数据规模的一站式图技术服务。iGraphWriter插件用于批量向iGraph增量更新数据。
2.实现原理
在iGraph中,对数据的增删改都属于增量更新。iGraphWriter底层使用了iGraph的Java SDK,增量数据使用异步更新模式,保证最终一致性。
3.功能说明
3.1 配置样例
该示例从MaxCompute批量写一份数据到iGraph。
{
"job":{
"setting":{
"speed":{
"channel":2
},
"errorLimit":{
"percentage":0.1
}
},
"content":[
{
"reader":{
"name":"odpsreader",
"parameter":{
"accessKey":"***",
"accessId":"***",
"column":[
"id",
"name"
],
"isCompress":"false",
"odpsServer":"***",
"tunnelServer":"***",
"partition":[
"ds=***"
],
"project":"***",
"table":"***"
}
},
"writer":{
"name":"igraphwriter",
"parameter":{
"endpoint":"***",
"username":"***",
"password":"***",
"pkField":"id",
"graphName":"***",
"labelName":"***",
"column":[
"id",
"name"
]
}
}
}
]
}
}
3.2参数说明
endpoint
-
说明:更新数据的Endpoint(实例信息->API信息->访问域名)
-
是否必填:是
-
默认值:无
username
-
说明:实例创建填写的用户名(实例信息->API信息->访问用户名)
-
是否必填:是
-
默认值:无
password
-
说明:实例创建填写的用密码(实例信息->API信息->用户密码)
-
是否必填:是
-
默认值:无
pkField
-
说明:需要指定哪个字段是pkey
-
是否必填:是
-
默认值:无
graphName
-
说明:图名称(图列表->图名称)
-
是否必填:是
-
默认值:无
labelName
-
说明:点或边名称
-
是否必填:是
-
默认值:无
column
-
说明:需要导入的字段列表,建议枚举字段,编辑为"column": ["*"]可能导致字段映射错误
-
是否必填:是
-
默认值:无
skField
-
说明:需要指定哪个字段是skey(仅边表需指定)
-
是否必填:否
-
默认值:无
cmd
-
说明:对数据做更新还是删除
-
是否必填:否
-
默认值:ADD
timeoutMs
-
说明:更新数据超时时间,毫秒级。
-
是否必填:否
-
默认值:100
requestRetry
-
说明:更新数据重试次数
-
是否必填:否
-
默认值:3
在 iGraph 实例详情页的 API信息 区域,可获取 访问用户名(对应 username)、访问域名(对应 endpoint)和 用户密码(对应 password);在 当前数据 区域,可获取 部署图名称(对应 graphName)。
在iGraph图编辑页面中,labelName 指点标签和边标签的名称。例如,点标签名称为 person、software,边标签名称为 knows(person→person)、created(person→software)。
在 iGraph 图编辑页面的数据配置(点)面板中,API 参数与界面字段的对应关系为:labelName 对应点名称(例如 software),pkField 对应字段结构中 pkey 列的勾选框,column 对应字段结构中的各字段行。数据来源可选API更新、MaxCompute数据源或MaxCompute数据源+API更新;索引类型可选KV、KKV或Inverted INDEX;数据TTL默认值为 604800。
在iGraph图编辑页面,打开边的数据配置(边)面板。边名称设为created,边属性选择单向边,关联节点为 person(起始节点)→ software(目的节点),数据来源选择API更新。字段结构中,pkField 对应起点字段列的勾选项,skField 对应终点字段列的勾选项,column 对应字段名称列表(如 field0、field1、field2),类型均为 STRING。数据TTL 设为 604800,索引优化开关开启。
3.3 类型转换
iGraphWriter插件使用中不需要指定对应类型,更新增量数据时iGraph会自行转换。
|
DataX 内部类型 |
iGraph 数据类型 |
|
Long |
INT64 |
|
Double |
DOUBLE |
|
String |
STRING |
|
Date |
STRING |
|
Boolean |
STRING |
|
Bytes |
STRING |
4.性能报告
4.1 机器参数
-
cpu: 32 core Intel Xeon(Cascade Lake) Platinum 8269CY
-
mem: 64G
-
net: 200Mbps
4.2 测试报告
|
通道数 |
DataX速度(Rec/s) |
DataX流量(MB/s) |
|
1 |
1222 |
0.09 |
|
2 |
2292 |
0.19 |
|
4 |
4400 |
0.37 |
|
8 |
8360 |
0.70 |
|
16 |
12862 |
1.08 |
|
32 |
17649 |
1.49 |
5.约束限制
数据更新注意事项参考iGraph阿里云官网文档:注意事项。