iGraph Writer配置

更新时间:
复制为 MD 格式

1.快速介绍

图计算服务iGraph是阿里云自主研发的高性能分布式图计算产品,为开发者提供万亿级数据规模的一站式图技术服务。iGraphWriter插件用于批量向iGraph增量更新数据。

2.实现原理

iGraph中,对数据的增删改都属于增量更新。iGraphWriter底层使用了iGraphJava 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 指点标签和边标签的名称。例如,点标签名称为 personsoftware,边标签名称为 knows(person→person)、created(person→software)。

在 iGraph 图编辑页面的数据配置(点)面板中,API 参数与界面字段的对应关系为:labelName 对应点名称(例如 software),pkField 对应字段结构中 pkey 列的勾选框,column 对应字段结构中的各字段行。数据来源可选API更新MaxCompute数据源MaxCompute数据源+API更新;索引类型可选KVKKVInverted 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 机器参数

  1. cpu: 32 core Intel Xeon(Cascade Lake) Platinum 8269CY

  2. mem: 64G

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