kettle从入门到精通 第四十七课 ETL之kettle mongo output 写入
1、上一节课我们学习了mongo input读取步骤,本节课我们一起学习下mongo out 写入步骤,该步骤可以将数据写入到mongo中,如下图所示。
2、 配置mongo连接,有两种方式,如截图所示。
Connection String:如String connectionString = "mongodb://username:password@localhost:27017/mydatabase?authSource=admin";
Configure Fields:单独配置每一个字段
Host name(s) or IP address(es):ip地址,多个主机名或IP地址用逗号分隔。
Port:端口号,mongo 默认为27017
Enable SSL connection: 指定连接到配置了SSL的MongoDB服务器
Use all replica set members/mongos:选择在“主机名或IP地址”字段中指定多个主机时使用所有副本集。如果一个副本集包含多个主机,Java驱动程序会自动发现所有主机。如果所选择的副本集不可用,驱动程序会连接列表中的下一个副本集。适用连接mongo集群。
Authentication database:指定认证数据库。
Authenticate Mechanism:选择用户身份验证方法。取值包括 SCRAM-SHA-1、MONGODB-CR 和 PLAIN。
Username:指定访问数据库所需的用户名。如果使用Kerberos身份验证,请输入Kerberos主体。
Password:指定与用户名关联的密码。如果您正在使用Kerberos身份验证,则无需输入密码。
Authenticate using Kerberos:选择指定使用Kerberos进行身份验证。选中后,请将Kerberos主体作为用户名输入。
Connection timeout:指定(以毫秒为单位)在终止连接尝试之前等待连接到数据库的时间长度。留空以永远不终止连接。
Socket timeout:指定(以毫秒为单位)在终止写入操作之前等待的时间长度。留空以永远不终止操作。
3、通过生成记录步骤生成一条数据,包含name和age两个字段,如下图所示。
4、Output options ,写入mongo设置,如下图所示。
Database:写入数据的数据库的名称。单击“获取DBs”以在下拉菜单中填充服务器上数据库列表。
Collection:写入数据的集合的名称。单击“获取集合”以在下拉菜单中填充数据库中集合的列表。
Batch insert size: 规定批量插入操作的批量大小。默认值为100行。
Truncate collection:选择在插入新数据之前删除目标集合中的现有数据。
Update:设置指定数据库和集合的更新写入方法。除非选择了"Update"字段,否则"Upsert"和"Modifier"更新选项是不可用的。
Upsert:选择将写入方法从插入更改为 upsert。upsert 方法根据 Mongo 文档字段选项卡中指定的所有传入字段,将匹配的记录替换为全新的记录。如果更新的匹配条件失败,将创建一个新记录。
Multi-update:选择对每个更新或 upsert 操作更新所有匹配的文档。
Modifier update:选择启用修饰符($ operators),用于修改匹配文档中的个别字段。选择多更新选项时,将更新所有匹配的文档。
要更新多个匹配的文档,请选择 "Modifier update" 和 "Upsert"。选择 "Modifier update"、"Upsert" 和 "Multi-update" 将会将更新应用于所有匹配的文档,而不仅仅是第一个匹配的文档。
Number of retries for write operations:指定尝试写入操作的次数。
Delay, in seconds, between retry attempts:指定在下次重试之前等待的秒数。
Write concern (w option):
指定写入操作必须成功的最小服务器数量。可用的取值如下:
-1:禁用所有写入操作错误的确认。
0(零):禁用基本写入操作的确认,但返回有关套接字异常和网络错误的信息。
1:确认写入主节点上的写入操作。
大于1:等待成功写入指定数量的从节点上的写入操作,包括主节点。
点击 "获取自定义写入关注" 以检索存储在存储库中的自定义写入关注。
w Timeout:指定等待写入操作响应的时间(以毫秒为单位),然后终止操作。如果不想终止操作,请留空。
Journaled writes:选择设置写入操作等待,直到 mongod(MongoDB 系统的主要守护进程)确认写入操作并将数据提交到日志。
Read preference:
指定首先读取的节点类型
- Primary(主节点)
- Primary preferred(首选主节点)
- Secondary(从节点)
- Secondary preferred(首选从节点)
- Nearest(最近节点)
5、使用 Mongo 文档字段选项卡来定义在步骤中写入 Mongo 文档时如何处理字段值。修改器策略列控制修改器操作何时影响特定字段的执行。当一个 Mongo 文档的数据被拆分到多个传入的 PDI 行中,或者不可能同时执行影响同一个字段的不同修改器操作时,您可以使用修改器策略。
6、使用“创建/删除索引”选项卡来在一个或多个字段上创建和删除索引。除非使用唯一索引,否则 MongoDB 允许插入重复记录。索引是在步骤处理完所有行之后执行的。
kettle从入门到精通 第四十七课 ETL之kettle mongo output 写入的更多相关文章
- GPU 编程入门到精通(四)之 GPU 程序优化
博主因为工作其中的须要,開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程.因此在这里特地学习一下 GPU 上面的编程.有志同道合的小伙伴 ...
- NeHe OpenGL教程 第四十七课:CG顶点脚本
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Hibernate从入门到精通(四)基本映射
映射的概念 在上次的博文Hibernate从入门到精通(三)Hibernate配置文件我们已经讲解了一下Hibernate中的两种配置文件,其中提到了两种配置文件的主要区别就是XML可以配置映射.这里 ...
- 【PHP】最详细PHP从入门到精通(四)——PHP中的字符串
PHP从入门到精通 之PHP中的字符串 大家好,继续跟进PHP最详尽的知识更新,本周,跟大家重点讲一下PHP中字符串的使用.在PHP中,字符串是非常重要的一个概念,基本上大家想到的字符串的处理功能, ...
- MyBatis从入门到精通(十四):在MyBatis中使用类型处理器
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解在MyBatis中如何 ...
- Storm入门到精通(四)---本地实例Demo
单词实时计数 maven项目的结构: 一.Pom.xml [html] view plain copy <project xmlns="http://maven.apache.org/ ...
- vim编辑器-Linux从入门到精通第四天(非原创)
文章大纲 一.vi介绍二.vim三种模式(重点)三.命令模式四.模式间的切换(重点)五.末行模式六.编辑模式七.实用功能八.扩展九.学习资料下载十.参考文章 一.vi介绍 Vi编辑器是所有Unix ...
- Simulink仿真入门到精通(四) Simulink子系统
4.1 Simulink子系统详解 4.1.1 子系统概述 Simulink根据仿真特性将模块的属性分为两种:虚拟模块和非虚拟模块. 非虚拟模块在仿真过程中起到实际的作用,对其进行编辑或者增加删除操作 ...
- CoreData 从入门到精通(四)并发操作
通常情况下,CoreData 的增删改查操作都在主线程上执行,那么对数据库的操作就会影响到 UI 操作,这在操作的数据量比较小的时候,执行的速度很快,我们也不会察觉到对 UI 的影响,但是当数据量特别 ...
- 4. 海思Hi3519A MPP从入门到精通(四 视频输出)
VO(Video Output,视频输出)模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形. 1. 基本概念 3519A芯片支持的显示/回写设备.视频层和图形层见下表. 注 ...
随机推荐
- 力扣121(java&python)-买卖股票的最佳时机(简单)
题目: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格. 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票.设计一 ...
- 模型代码联动难? BizWorks来助力
简介: 本文介绍了业务模型设计和实现保持一致的重要性以及实际落地可能遇到的问题,以及BizWorks如何设计并提供一种双向联动能力, 通过BizWorks Toolkit(IDE 插件) 来解决和优化 ...
- 轻松搭建基于 Serverless 的 ThinkPHP 应用
ThinkPHP 是什么? ThinkPHP 是一个免费开源的,快速.简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的.ThinkPHP 从诞生以来一直 ...
- 带你体验云原生场景下 Serverless 应用编程模型
简介: 阿里云 Knative 基于 ASK 之上,在完全兼容社区 Knaitve 的同时对 FC.ECI 工作负载进行统一应用编排,支持事件驱动.自动弹性,为您提供统一的 Serverless 应 ...
- [PHP] 几个拖慢 PHP 程序/API 运行速度的点
1. 启动.查找 Session 需要一定开销,默认 session.save_handler=files,可以通过修改为 redis 提速. files 的 session 会阻塞请求?https: ...
- dotnet 通过 DockerfileContext 解决项目放在里层文件夹导致 VisualStudio 构建失败
本文告诉大家,如何解决 csproj 项目文件放入到里层的文件夹,不放在 sln 所在文件夹的第一层子文件夹,导致 VisualStudio 2022 在构建 docker 映像提示找不到文件的问题 ...
- Sentinel如何持久化数据到Nacos?
默认情况下 Sentinel 只能接收到 Nacos 推送的消息,但不能将自己控制台修改的信息同步给 Nacos,如下图所示: 但是在生成环境下,我们为了更方便的操作,是需要将 Sentinel 控制 ...
- 使用 Docker 搭建 gitea 私有仓库
一.准备材料 安装环境:linux 工具:docker 软件:MySql.gitea 二.安装Docker 安装Docker:https://www.cnblogs.com/jzcn/p/156937 ...
- Docker 笔记汇总
一.名词说明 Dockerfile 镜像构建文件 Docker Images 镜像:生成容器 Docker Containers 容器:微型系统 Docker Volumes 卷:存放容器运行数据 D ...
- rails 之下载
控制器 def index #传给前端展示层当前的id @id = 6 end # http://127.0.0.1:3000/admin/category_statistics/export_tab ...