48 Star 499 Fork 229

GVP袋鼠云 / chunjun

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
mongodbreader.md 3.58 KB
一键复制 编辑 原始数据 按行查看 历史
tudou 提交于 2021-02-05 18:05 . 1、新增Oracle LogMiner实时采集插件

MongoDB Reader

一、插件名称

名称:mongodbreader

二、支持的数据源版本

MongoDB 3.4及以上

三、参数说明

  • url

    • 描述:MongoDB数据库连接的URL字符串,详细请参考MongoDB官方文档
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • hostPorts

    • 描述:MongoDB的地址和端口,格式为 IP1:port,可填写多个地址,以英文逗号分隔
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • username

    • 描述:数据源的用户名
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • password

    • 描述:数据源指定用户名的密码
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • database

    • 描述:数据库名称
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • collectionName

    • 描述:集合名称
    • 必选:是
    • 字段类型:String
    • 默认值:无

  • fetchSize

    • 描述:每次读取的数据条数,通过调整此参数来优化读取速率
    • 必选:否
    • 字段类型:int
    • 默认值:100

  • filter

    • 描述:过滤条件,为json格式, 通过该配置型来限制返回 MongoDB 数据范围,语法请参考MongoDB查询语法
    • 必选:否
    • 字段类型:String
    • 默认值:无

  • column

    • 描述:需要读取的字段。
    • 格式:支持三种格式
      1.读取全部字段,如果字段数量很多,可以使用下面的写法:
{"column":["*"]}

2.只指定字段名称:

"column":["id","name"]

3.指定具体信息:

"column": [{
    "name": "col",
    "type": "datetime",
    "format": "yyyy-MM-dd hh:mm:ss",
    "value": "value",
    "splitter":","
}]
  • 属性说明:
    • name:字段名称
    • type:字段类型,可以和数据库里的字段类型不一样,程序会做一次类型转换
    • format:如果字段是时间字符串,可以指定时间的格式,将字段类型转为日期格式返回
    • value:如果数据库里不存在指定的字段,则会把value的值作为常量列返回,如果指定的字段存在,当指定字段的值为null时,会以此value值作为默认值返回
    • splitter:因为 MongoDB 支持数组类型,所以 MongoDB 读出来的数组类型要通过这个分隔符合并成字符串
  • 必选:是
  • 字段类型: List
  • 默认值:无

四、配置示例

{
  "job" : {
    "content" : [ {
      "reader" : {
        "parameter" : {
          "url": "mongodb://root:admin@kudu4:27017/admin?authSource=admin",
          "fetchSize": 100,
          "collectionName" : "tudou",
          "filter" : "{}",
          "column" : ["*"]
        },
        "name" : "mongodbreader"
      },
      "writer": {
        "name": "streamwriter",
        "parameter": {
          "print": true
        }
      }
    }
    ],
    "setting": {
      "speed": {
        "channel": 1,
        "bytes": 0
      },
      "errorLimit": {
        "record": 1
      },
      "restore": {
        "maxRowNumForCheckpoint": 0,
        "isRestore": false,
        "restoreColumnName": "",
        "restoreColumnIndex": 0
      },
      "log" : {
        "isLogger": false,
        "level" : "debug",
        "path" : "",
        "pattern":""
      }
    }
  }
}
Java
1
https://gitee.com/dtstack_dev_0/chunjun.git
git@gitee.com:dtstack_dev_0/chunjun.git
dtstack_dev_0
chunjun
chunjun
1.10_release

搜索帮助