开发者社区 问答 正文

请问DataWorks中对MongoDB吸取数据报错

谜迷迷 太谜了


我的MongoDB也是建在阿里云,已测试连通性,准备吸取到ODPS中已有的数据库中,吸取配置如下:

{
  "configuration": {
    "reader": {
      "plugin": "mongodb",
      "parameter": {
        "datasource": "pmongo",
        "column": [
          {
            "name": "sender_id",
            "type": "string"
          },
          {
            "name": "sender",
            "type": "string"
          },
          {
            "name": "receiver",
            "type": "string"
          },
          {
            "name": "created_time",
            "type": "date"
          },
          {
            "name": "message",
            "type": "string"
          },
          {
            "name": "type",
            "type": "string"
          }
        ],
        "collectionName": "Messages"
      }
    },
    "writer": {
      "plugin": "odps",
      "parameter": {
        "partition": "",
        "truncate": true,
        "datasource": "odps_database",
        "column": [
          "sender_id",
          "sender",
          "receiver",
          "created_time",
          "message",
          "type"
        ],
        "table": "old_message"
      }
    },
    "setting": {
      "errorLimit": {
        "record": "0"
      },
      "speed": {
        "throttle": false,
        "concurrent": 1,
        "mbps": "1",
        "dmu": 1
      }
    }
  },
  "type": "job",
  "version": "1.0"
}




报错为:"NullPointerException"

2018-06-19 16:01:48.853 [job-1078588] ERROR Engine -
经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Framework-02], Description:[DataX引擎运行过程出错,具体原因请参看DataX运行结束时的错误诊断信息  .].  - java.lang.NullPointerException
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.isPrimaryIdObjectId(CollectionSplitUtil.java:63)
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.doSplit(CollectionSplitUtil.java:45)
        at com.alibaba.datax.plugin.reader.mongodbreader.MongoDBReader$Job.split(MongoDBReader.java:43)
        at com.alibaba.datax.core.job.JobContainer.doReaderSplit(JobContainer.java:954)
        at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:478)
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:168)
        at com.alibaba.datax.core.Engine.start(Engine.java:96)
        at com.alibaba.datax.core.Engine.entry(Engine.java:184)
        at com.alibaba.datax.core.Engine.main(Engine.java:217)
- java.lang.NullPointerException
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.isPrimaryIdObjectId(CollectionSplitUtil.java:63)
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.doSplit(CollectionSplitUtil.java:45)
        at com.alibaba.datax.plugin.reader.mongodbreader.MongoDBReader$Job.split(MongoDBReader.java:43)
        at com.alibaba.datax.core.job.JobContainer.doReaderSplit(JobContainer.java:954)
        at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:478)
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:168)
        at com.alibaba.datax.core.Engine.start(Engine.java:96)
        at com.alibaba.datax.core.Engine.entry(Engine.java:184)
        at com.alibaba.datax.core.Engine.main(Engine.java:217)
        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:40)
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:228)
        at com.alibaba.datax.core.Engine.start(Engine.java:96)
        at com.alibaba.datax.core.Engine.entry(Engine.java:184)
        at com.alibaba.datax.core.Engine.main(Engine.java:217)
Caused by: java.lang.NullPointerException
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.isPrimaryIdObjectId(CollectionSplitUtil.java:63)
        at com.alibaba.datax.plugin.reader.mongodbreader.util.CollectionSplitUtil.doSplit(CollectionSplitUtil.java:45)
        at com.alibaba.datax.plugin.reader.mongodbreader.MongoDBReader$Job.split(MongoDBReader.java:43)
        at com.alibaba.datax.core.job.JobContainer.doReaderSplit(JobContainer.java:954)
        at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:478)
        at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:168)
        ... 3 more



展开
收起
zoidberg 2018-06-19 16:03:51 3062 分享 版权
0 条回答
写回答
取消 提交回答