zoukankan      html  css  js  c++  java
  • kettle mogodb output详解

    以下主要来自官网文档,原文:https://wiki.pentaho.com/display/EAI/MongoDB+Output

    Configure Connection Tab

    1 Host name or IP address 输入本机或者服务器的ip地址
    2 Port 端口号默认端口号27017
    3 Username 和 Password 如果目标集合需要验证详细信息,可以使用用户名和密码字段提供验证细节

    4 如果已经设置了有效的主机名和端口,那么可以使用Get DBs按钮和Get collection按钮分别检索选定数据库中现有数据库和集合的名称如下图:

    5 如果多个主机,可以用逗号分隔,并且勾上Use all replicate set members/mongos

    Create and Drop Indexes Tab

     

    kettle 可以写入数据时候,在mongodb中创建索引

    Output Options Tab

    1 使用Get DBs按钮和Get collection按钮分别检索选定数据库中现有数据库和集合,如果输入一个集合名字,这个集合名字在数据库中不存在,那么会自动创建一个集合,并且将对应数据插入该集合中。
    2 Truncate collection 如果勾上之后,在插入目标集合之前会把集合数据清空,然后再插入
    3 除非使用唯一索引,否则mongodb允许插入重复数据
    4 Mongo DB允许快速批量插入操作—可以使用批插入大小字段配置批大小。如果这里没有提供值,则使用默认的100行大小

    5 选择Update,但不选择Upsert的时候,只更新,不插入。如果数据库中没数据,也不插入。有数据则更新。

    选择Update的时候,Mongo Document Fields 里面的 Match field for update 必须有一个选择Y才可以,然后Modifier policy 选择Insert&Update时候,如果有数据就更新。

    同时选择Update,Upsert时候,在数据库中找到则更新,找不到则插入。

    (在mongodb使用update功能的时候upsert本身就是一个可选择的功能,true是库里没有则插入,false是库里没有不做操作。默认false。因此kettle在选择update功能时候下面还有一个upsert)

    最终生效则必须在Mongo document fields 选项卡中选择Match field for update,必须有一个是Y,如下图:

    Match field for update选择为Y,则是用这个自动去匹配。比如途中选择note为Y,note作为更新参照字段。

    相当于sql语句:update 表 set shebei_zhi = value1,shebei_type = value2 where note = value3

    6 勾选Modifier update,可以对update操作进一步设置如可以增加操作符设置:$set,$inc和$push。勾选之后, Mongo document fields 选项卡中Modifier operation 和Modifier policy才起作用。

    7 勾选Modifier update之后,可以再勾选Multi-update。mongodb默认只更新找到的第一条记录,如果勾选,就把按条件查出来多条记录全部更新,即更新找到的多条记录。

    参考:https://blog.csdn.net/qq_26645205/article/details/78341196

  • 相关阅读:
    EventBus
    Date 时间 日期 常用方法函数
    线程 Thread Handler
    MySQL-DoubleWrite
    MySQL各版本优化器变化
    MySQL优化器-条件过滤(condition_fanout_filter)
    PXC集群搭建
    mysql主从不一致--relay_log_recovery设置成0
    MySQL5.7-sql_mode
    根据ibd文件进行数据恢复或导入
  • 原文地址:https://www.cnblogs.com/kxm87/p/9530314.html
Copyright © 2011-2022 走看看