{
# Spark relation com.vesoft.exchange.common.config
spark: {
app: {
name: Nebula Exchange 3.0.0
}
master:local
driver: {
cores: 2
maxResultSize: 4G
}
executor: {
memory:4G
}
cores:{
max: 4
}
}
# Nebula Graph relation com.vesoft.exchange.common.config
nebula: {
account:{
graph:["127.0.0.1:9669"]
meta:["127.0.0.1:9559"]
}
user: root
pswd: nebula
space: bigdata
# if com.vesoft.exchange.common.config graph ssl encrypted transmission
ssl:{
# if enable is false, other params of ssl are invalid.
enable:{
graph:false
meta:false
}
# ssl sign type: CA or SELF
sign.type:ca
# if sign.type is CA, make sure com.vesoft.exchange.common.config the ca.param. If you submit exchange application with cluster, please make sure each worker has the ca files.
ca.param: {
caCrtFilePath:"/path/caCrtFilePath"
crtFilePath:"/path/crtFilePath"
keyFilePath:"/path/keyFilePath"
}
# if sign.type is SELF, make sure com.vesoft.exchange.common.config the self.param. If you submit exchange application with cluster, please make sure each worker has the ca files.
self.param: {
crtFilePath:"/path/crtFilePath"
keyFilePath:"/path/keyFilePath"
password:"nebula"
}
}
# nebula client connection parameters
connection {
# socket connect & execute timeout, unit: millisecond
timeout: 30000
}
error: {
# max number of failures, if the number of failures is bigger than max, then exit the application.
max: 32
# failed import job will be recorded in output path
output: /tmp/errors
}
# use google's RateLimiter to limit the requests send to NebulaGraph
rate: {
# the stable throughput of RateLimiter
limit: 1024
# Acquires a permit from RateLimiter, unit: MILLISECONDS
# if it can't be obtained within the specified timeout, then give up the request.
timeout: 1000
}
}
# Processing tags
# There are tag com.vesoft.exchange.common.config examples for different dataSources.
tags: [
# MaxCompute
{
name: account
type:{
source:maxcompute
sink:client
}
table:dwd_account
project:bigdata
odpsUrl:"http://service.cn-hongkong.maxcompute.aliyun.com/api"
tunnelUrl:"http://dt.cn-hongkong.maxcompute.aliyun.com"
accessKeyId:accessKey
accessKeySecret:accessSecret
# default numPartitions is 1
numPartitions:1
# maxcompute sql sentence only uses table name. make sure that table name is the same with {table}'s value'.
sentence:"select * from dwd_account"
fields:[account, label]
nebula.fields:[account, label]
vertex:{
field: account
}
partition:1
batch:10
}
]
# Processing edges
# There are edge com.vesoft.exchange.common.config examples for different dataSources.
edges: [
# MaxCompute
{
name: account_rel
type:{
source:maxcompute
sink:client
}
table:dwd_account_rel
project:bigdata
odpsUrl:"http://service.cn-hongkong.maxcompute.aliyun.com/api"
tunnelUrl:"http://dt.cn-hongkong.maxcompute.aliyun.com"
accessKeyId:accessKey
accessKeySecret:accessSecret
# maxcompute sql sentence only uses table name.
sentence:"select * from dwd_account_rel"
fields:[id,src_account,dst_account]
nebula.fields:[id,src_account,dst_account]
source:{
field: src_account
}
target:{
field: dst_account
}
ranking: account_group_no
partition:1
batch:10
}
]
}