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
kettle mogodb output详解的更多相关文章
- Webpack探索【4】--- entry和output详解
本文主要讲entry和output相关内容.
- PHP输出缓冲控制- Output Control 函数应用详解
说到输出缓冲,首先要说的是一个叫做缓冲器(buffer)的东西.举个简单的例子说明他的作用:我们在编辑一篇文档时,在我们没有保存之前,系统是不会向磁盘写入的,而是写到buffer中,当buffer写满 ...
- PHP输出缓冲控制 - Output Control 函 应用详解
简介 说到输出缓冲,首先要说的是一个叫做缓冲器(buffer)的东西.举个简单的例子说明他的作用:我们在编辑一篇文档时,在我们没有保存之前,系统是不会向磁盘写入的,而是写到buffer中,当buffe ...
- kettle的下载、安装和初步使用(Ubuntu 16.04平台下)(图文详解)
不多说,直接上干货! 能够看我这篇博客的博友们,想必是已经具备一定基础了. 扩展博客 kettle的下载.安装和初步使用(windows平台下)(图文详解) kettle的下载 Kettle可以在h ...
- Filebeat-1.3.1安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)(以Console Output为例)
前期博客 Filebeat的下载(图文讲解) 前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticse ...
- Logstash组件详解(input、codec、filter、output)
logstash组件详解 logstash的概念及特点. 概念:logstash是一个数据采集.加工处理以及传输(输出)的工具. 特点: - 所有类型的数据集中处理 - 不同模式和格式数据的正常化 - ...
- 58、Spark Streaming: DStream的output操作以及foreachRDD详解
一.output操作 1.output操作 DStream中的所有计算,都是由output操作触发的,比如print().如果没有任何output操作,那么,压根儿就不会执行定义的计算逻辑. 此外,即 ...
- html5中output元素详解
html5中output元素详解 一.总结 一句话总结: output元素是HTML5新增的元素,用来设置不同数据的输出,没什么大用,了解即可 <form action="L3_01. ...
- kettle的下载、安装和初步使用(windows平台下)(图文详解)
kettle的下载 Kettle可以在http://kettle.pentaho.org/网站下载 http://sourceforge.net/projects ...
随机推荐
- go mod 解决 Go 语言的包依赖问题
转:https://testerhome.com/topics/16980 https://testerhome.com/ -------------------------------------- ...
- 【bfs分层图 dp】hihocoder#1147 : 时空阵
最短路径树上分层dp的一类套路吧 题目大意 幽香这几天学习了魔法,准备建造一个大型的时空传送阵. 幽香现在可以在幻想乡的n个地点建造一些传送门,如果她建造了从地点a与地点b之间的传送门,那么从a到b和 ...
- 《Redis 设计与实现》读书笔记(二)
单机数据库实现 九.数据库 1.服务器中的数据库 一个redis服务器保存多个数据库. struct redisServer { //一个数组,多个数据库 redisDb *db; } 当执行sele ...
- 使用Jieba提取文章的关键词
import jieba.analyse as analyse import matplotlib.pyplot as plt from wordcloud import WordCloud data ...
- [Python自学] day-19 (1) (FBV和CBV、路由系统)
一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...
- springbootdruidmybatismysql多数据源事务管理
springboot+druid+mybatis+mysql+多数据源事务管理 分布式事务在java中的解决方案就是JTA(即Java Transaction API):springboot官方提供了 ...
- PHP mysqli_get_host_info() 函数
定义和用法 mysqli_get_host_info() 函数返回 MySQL 服务器主机名和连接类型. 语法 mysqli_get_host_info(connection); 返回 MySQL 服 ...
- Syn Flood 攻击
什么是SYN Flood攻击? SYN Flood (SYN洪水) 是种典型的DoS (Denial of Service,拒绝服务) 攻击.效果就是服务器TCP连接资源耗尽,停止响应正常的TCP连接 ...
- 记录一:tensorflow下载安装
1.下载Anaconda,默认选项安装 2.验证 conda --v 3.下载 tensorflow 3.1 创建环境 conda create -n tensorflow python=3. ...
- Java的消息机制
Java消息机制 1.问: 什么是 Java 消息服务?答: Java 消息服务(Java Message Service,JMS) API 是一个用于访问企业消息传递系统的 API.是 Java 2 ...