{ # Spark相关配置 spark: { app: { name: Nebula Exchange 2.6.0 } driver: { cores: 1 maxResultSize: 1G } cores { max: 16 } } # Nebula Graph相关配置 nebula: { address:{ # 以下为Nebula Graph的Graph服务和Meta服务所在机器的IP地址及端口。 # 如果有多个地址,格式为 "ip1:port","ip2:port","ip3:port"。 # 不同地址之间以英文逗号 (,) 隔 graph:["10.20.10.11:9669"] meta:["10.20.10.11:9559"] } # 填写的账号必须拥有Nebula Graph相应图空间的写数据权限。 user: root pswd: nebula # 填写Nebula Graph中需要写入数据的图空间名称。 space: basketballplayer connection { timeout: 3000 retry: 3 } execution { retry: 3 } error: { max: 32 output: /tmp/errors } rate: { limit: 1024 timeout: 1000 } } # 处理点 tags: [ # 设置Tag player相关信息。 { # Nebula Graph中对应的Tag名称。 name: player type: { # 指定数据源文件格式,设置为MySQL。 source: mysql # 指定如何将点数据导入Nebula Graph:Client或SST。 sink: Client } host:10.20.10.11 port:3306 database:"nebula" table:"nebula_vertex_player" user:"root" password:"123456" sentence:"select vid, age, name from nebula_vertex_player order by vid" # 在fields里指定player表中的列名称,其对应的value会作为Nebula Graph中指定属性。 # fields和nebula.fields里的配置必须一一对应。 # 如果需要指定多个列名称,用英文逗号(,)隔开。 fields: [age,name] nebula.fields: [age,name] # 指定表中某一列数据为Nebula Graph中点VID的来源。 vertex: { field:vid } # 单批次写入 Nebula Graph 的数据条数。 batch: 256 # Spark 分区数量 partition: 32 } # 设置Tag team相关信息。 { name: team type: { source: mysql sink: Client } host:10.20.10.11 port:3306 database:"nebula" table:"nebula_vertex_team" user:"root" password:"123456" sentence:"select teamid, name from nebula_vertex_team order by teamid" fields: [name] nebula.fields: [name] vertex: { field: teamid } batch: 256 partition: 32 } ] # 处理边数据 edges: [ # 设置Edge type follow相关信息 { # Nebula Graph中对应的Edge type名称。 name: follow type: { # 指定数据源文件格式,设置为MySQL。 source: mysql # 指定边数据导入Nebula Graph的方式, # 指定如何将点数据导入Nebula Graph:Client或SST。 sink: Client } host:10.20.10.11 port:3306 database:"nebula" table:"nebula_edge_follow" user:"root" password:"123456" sentence:"select src_player,dst_player,degree from nebula_edge_follow order by src_player" # 在fields里指定follow表中的列名称,其对应的value会作为Nebula Graph中指定属性。 # fields和nebula.fields里的配置必须一一对应。 # 如果需要指定多个列名称,用英文逗号(,)隔开。 fields: [degree] nebula.fields: [degree] # 在source里,将follow表中某一列作为边的起始点数据源。 # 在target里,将follow表中某一列作为边的目的点数据源。 source: { field: src_player } target: { field: dst_player } # 单批次写入 Nebula Graph 的数据条数。 batch: 256 # Spark 分区数量 partition: 32 } # 设置Edge type serve相关信息 { name: serve type: { source: mysql sink: Client } host:10.20.10.11. port:3306 database:"nebula" table:"nebula_edge_serve" user:"root" password:"123456" sentence:"select playerid,teamid,start_year,end_year from nebula_edge_serve order by playerid" fields: [start_year,end_year] nebula.fields: [start_year,end_year] source: { field: vid } target: { field: teamid } batch: 256 partition: 32 } ] }