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
略