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
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阿里云官网文档:注意事项。
6.FAQ
略