Mysql导入数据到Neo4J失败
- Dominant language
- Java
- Stars
- 17.4k
- Forks
- 5.7k
- PR merge metrics
- No merged PRs in 30d
Description
2025-07-27 10:12:35.144 [job-0] INFO StandAloneJobContainerCommunicator - Total 0 records, 0 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.000s | All Task WaitReaderTime 0.000s | Percentage 0.00%
2025-07-27 10:12:35.145 [job-0] INFO Neo4jWriter$Job - Neo4jWriter Job destroyed
2025-07-27 10:12:35.146 [job-0] ERROR Engine -
经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Framework-02], Description:[DataX引擎运行过程出错,具体原因请参看DataX运行结束时的错误诊断信息 .]. - java.lang.NullPointerException: Cannot invoke "com.alibaba.datax.common.util.Configuration.clone()" because "this.jobConf" is null
at com.alibaba.datax.plugin.writer.neo4jwriter.Neo4jWriter$Job.split(Neo4jWriter.java:32)
at com.alibaba.datax.core.job.JobContainer.doWriterSplit(JobContainer.java:750)
at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:397)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117)
at com.alibaba.datax.core.Engine.start(Engine.java:86)
at com.alibaba.datax.core.Engine.entry(Engine.java:168)
at com.alibaba.datax.core.Engine.main(Engine.java:201)
- java.lang.NullPointerException: Cannot invoke "com.alibaba.datax.common.util.Configuration.clone()" because "this.jobConf" is null
at com.alibaba.datax.plugin.writer.neo4jwriter.Neo4jWriter$Job.split(Neo4jWriter.java:32)
at com.alibaba.datax.core.job.JobContainer.doWriterSplit(JobContainer.java:750)
at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:397)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117)
at com.alibaba.datax.core.Engine.start(Engine.java:86)
at com.alibaba.datax.core.Engine.entry(Engine.java:168)
at com.alibaba.datax.core.Engine.main(Engine.java:201)
at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:48)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:162)
at com.alibaba.datax.core.Engine.start(Engine.java:86)
at com.alibaba.datax.core.Engine.entry(Engine.java:168)
at com.alibaba.datax.core.Engine.main(Engine.java:201)
Caused by: java.lang.NullPointerException: Cannot invoke "com.alibaba.datax.common.util.Configuration.clone()" because "this.jobConf" is null
at com.alibaba.datax.plugin.writer.neo4jwriter.Neo4jWriter$Job.split(Neo4jWriter.java:32)
at com.alibaba.datax.core.job.JobContainer.doWriterSplit(JobContainer.java:750)
at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:397)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117)
... 3 more
json:
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "X",
"password": "X",
"column": [
"uuid", "gsuuid", "gsmc", "ywmc", "gpdm", "gpmc", "zqlbdm", "zqlbmc",
"sshymc", "clrq", "zjl", "frdb", "dsz", "kzgd", "sjkzr", "zzkzr",
"zyyw", "lxdh", "dzxx", "cz", "gswz", "bgdz", "zcdz", "sfdm", "qy",
"yzbm", "zczb", "gyrs", "glryrs", "lssws", "kjssws", "gsjj", "jyfw",
"hxtc", "logourl", "cjrq", "gxrq"
],
"connection": [
{
"table": [
"ss_jbxx"
],
"jdbcUrl": [
"jdbc:mysql://X:3306/jck"
]
}
],
"where": "",
"splitPk": ""
}
},
"writer": {
"name": "neo4jWriter",
"parameter": {
"uri": "bolt://X:7687",
"username": "X",
"password": "X",
"database": "neo4j",
"cypher": [
"UNWIND $batch AS row",
"MERGE (c:Company {uuid: row.uuid})",
"SET c.gsuuid = row.gsuuid,",
" c.name = row.gsmc,",
" c.englishName = row.ywmc,",
" c.stockCode = row.gpdm,",
" c.stockName = row.gpmc,",
" c.securityType = row.zqlbmc,",
" c.industry = row.sshymc,",
" c.establishDate = row.clrq,",
" c.generalManager = row.zjl,",
" c.legalRepresentative = row.frdb,",
" c.chairman = row.dsz,",
" c.controllingShareholder = row.kzgd,",
" c.actualController = row.sjkzr,",
" c.ultimateController = row.zzkzr,",
" c.mainBusiness = row.zyyw,",
" c.phone = row.lxdh,",
" c.email = row.dzxx,",
" c.fax = row.cz,",
" c.website = row.gswz,",
" c.officeAddress = row.bgdz,",
" c.registeredAddress = row.zcdz,",
" c.region = row.qy,",
" c.postalCode = row.yzbm,",
" c.registeredCapital = row.zczb,",
" c.employeeCount = row.gyrs,",
" c.managementCount = row.glryrs,",
" c.lawFirm = row.lssws,",
" c.accountingFirm = row.kjssws,",
" c.companyProfile = row.gsjj,",
" c.businessScope = row.jyfw,",
" c.coreConcepts = row.hxtc,",
" c.logoUrl = row.logourl,",
" c.createTime = row.cjrq,",
" c.updateTime = row.gxrq"
],
"batchDataVariableName": "batch",
"batchSize": 1000,
"properties": [
{"name": "uuid", "type": "STRING"},
{"name": "gsuuid", "type": "STRING"},
{"name": "gsmc", "type": "STRING"},
{"name": "ywmc", "type": "STRING"},
{"name": "gpdm", "type": "STRING"},
{"name": "gpmc", "type": "STRING"},
{"name": "zqlbmc", "type": "STRING"},
{"name": "sshymc", "type": "STRING"},
{"name": "clrq", "type": "DATE"},
{"name": "zjl", "type": "STRING"},
{"name": "frdb", "type": "STRING"},
{"name": "dsz", "type": "STRING"},
{"name": "kzgd", "type": "STRING"},
{"name": "sjkzr", "type": "STRING"},
{"name": "zzkzr", "type": "STRING"},
{"name": "zyyw", "type": "STRING"},
{"name": "lxdh", "type": "STRING"},
{"name": "dzxx", "type": "STRING"},
{"name": "cz", "type": "STRING"},
{"name": "gswz", "type": "STRING"},
{"name": "bgdz", "type": "STRING"},
{"name": "zcdz", "type": "STRING"},
{"name": "sfdm", "type": "STRING"},
{"name": "qy", "type": "STRING"},
{"name": "yzbm", "type": "STRING"},
{"name": "zczb", "type": "STRING"},
{"name": "gyrs", "type": "LONG"},
{"name": "glryrs", "type": "LONG"},
{"name": "lssws", "type": "STRING"},
{"name": "kjssws", "type": "STRING"},
{"name": "gsjj", "type": "STRING"},
{"name": "jyfw", "type": "STRING"},
{"name": "hxtc", "type": "STRING"},
{"name": "logourl", "type": "STRING"},
{"name": "cjrq", "type": "DATE"},
{"name": "gxrq", "type": "DATE"}
]
}
}
}
],
"setting": {
"speed": {
"channel": 4,
"byte": 1048576
},
"errorLimit": {
"record": 100,
"percentage": 0.02
}
}
}
}
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the failure in Neo4jWriter.java at line 32, where Job.split reports that jobConf is null. Compare that entry point with the supplied mysqlreader and neo4jWriter configuration, then reproduce the import to confirm the failure is resolved and records are transferred.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mysql, neo4j
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100