当前位置: 首页 > news >正文

福建网站开发公司/seo刷排名工具

福建网站开发公司,seo刷排名工具,网络培训学习心得体会,wordpress扫码阅读每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。放弃不难,但坚持很酷~最近有一个将 mysql 数据导入到 MongoDB 中的需求,打算使用 Kettle 工具实现。本文章记录了数据导入从 0 到 1 的过程,最终实现了每秒钟快速导入约 …
90f046c8026c0167d29f8cc9d326ca43.gif

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。

放弃不难,但坚持很酷~

最近有一个将 mysql 数据导入到 MongoDB 中的需求,打算使用 Kettle 工具实现。本文章记录了数据导入从 0 到 1 的过程,最终实现了每秒钟快速导入约 1200 条数据。一起来看吧~

一、Kettle 连接图

025519e11f6245f5cf8127292d913d25.png

简单说下该转换流程,增量导入数据:

1)根据 source 和 db 字段来获取 MongoDB 集合内 business_time 最大值。

2)设置 mysql 语句

3)对查询的字段进行改名

4)过滤数据:只往 MongoDB 里面导入 person_id,address,business_time 字段均不为空的数据。

  • 符合过滤条件的数据,增加常量,并将其导入到 mongoDB 中。

  • 不符合过滤条件的数据,增加常量,将其导入到 Excel 表中记录。

二、流程组件解析

1、MongoDB input

1)Configure connection

b68bcaa026b6b23ca1eaf2cdd053b725.png
  • Host name(s) or IP address(es):网络名称或者地址。可以输入多个主机名或IP地址,用逗号分隔。还可以通过将主机名和端口号与冒号分隔开,为每个主机名指定不同的端口号,并将主机名和端口号的组合与逗号分隔开。例如,要为两个不同的MongoDB实例包含主机名和端口号,您将输入localhost 1:27017,localhost 2:27018,并使 Port 字段为空。

  • Port:端口号

  • Username:用户名

  • Password:密码

  • Authenticate using Kerberos:指示是否使用Kerberos服务来管理身份验证过程。

  • Connection timeout:连接超时时间(毫秒)

  • Socket timeout:等待写操作(以毫秒为单位)的时间

2)Input options

88e640fc21f9783077e39009531a0f48.png
  • Database:检索数据的数据库的名称。点击 “Get DBs” 按钮以获取数据库列表。

  • Collection:集合名称。点击 “Get collections” 按钮获取集合列表。

  • Read preference:表示要先读取哪个节点。

  • Tag set specification/#/Tag Set:标签允许您自定义写关注和读取副本的首选项。

3)query

根据 source 和 db 字段来获取 bussiness_time 的最大值,Kettle 的 MongoDB 查询语句如下图所示:

70c973ea40b7af522b5443ebd8101fcf.png

对应的 MongDB 的写法为:

8bedd3d9d4d565a66d7c670e9e27f215.png

记得勾选 Query is aggregation pipeline 选项:

444193c14aaf8b670cfa967e7859d180.png

4)Fields

取消选中 Output single JSON field ,表示下一组件接收到的结果是一个 Number 类型的单值,否则就是一个 json 对象。

c07d569113f5a98788a7280a225f116c.png

2、表输入

设置 mysql 数据库 jdbc 连接后,填好 SQL 语句之后,在下方的“从步骤插入数据”下拉列表中,选中“MongoDB input”。“MongoDB input” 中的变量,在 SQL 语句中用 ? 表示,如下图所示:

ed96a8e1a8e871bddac07987a92191bc.png

如果导数的时候发生中文乱码,可以点击 编辑 ,选择 数据库连接 的 选项,添加配置项:characterEncoding utf8,即可解决。如下图所示:

29c97d5149c840a6a2a9ed00c3ad06f0.png

3、字段选择

如果查询出来的列名需要更改,则可以使用“字段选择”组件,该组件还可以移除某字段,本次应用中,主要使用该组件将字段名进行修改。如下图所示:

3ea90d1a210c1e7cdb4ec9dcf5db9d7d.png

4、过滤选择

只保留 person_id,address,business_time 字段都不为空的数据:

7896be2fbe68bd861b0842dff4d754d8.png

5、增加常量

很简单,在“增加常量”组件内设置好要增加常量的类型和值即可。

cc9c4d8892dbe4292e811660bf282433.png

6、Excel 输出

添加“Excel 输出”,设置好文件名,如果有必要的话还可以设置 Excel 字段格式,如下图所示:

83c2b438b3c344477bed1612da3026c7.png

7、MongoDB output

1)Configure connection

如下图所示,由于一开始就介绍了 MongoDB 的连接方式,所以在这里不在赘述。

b955a4949ff1099d6f3571fe061d2393.png

2)Output options

550eb126413d9c821b1a779c80bbc44e.png
  • Batch insert size:每次批量插入的条数。

  • Truncate collection:执行操作前先清空集合

  • Update:更新数据

  • Upsert:选择 Upsert 选项将写入模式从 insert 更改为 upsert(即:如果找到匹配项则更新,否则插入新记录)。使用前提是 勾选 Update 选项。

  • Muli-update:多次更新,可以更新所有匹配的文档,而不仅仅是第一个。

3)Mongo document fields

根据 id、source、db 字段插入更新数据,如下图所示:

0140958a9636dc87d20b69a8d9df2375.png

更多 MongoDB output 可参考:

https://wiki.pentaho.com/display/EAI/MongoDB+Output

三、索引优化

1、mysql

为 mysql 查询字段添加索引。(略)

2、MongoDB

对 MongoDB 查询做优化,创建复合索引:

对于 MongoDB input 组件来说,会关联查询出 business_time 最大值,所以要创建复合索引,创建复合索引时要注意字段顺序,按照查询顺序创建:

db.trajectory_data.createIndex({source: 1, db: 1, business_time: 1})

对于 MongoDB output 组件来说,因为已经设置了 插入或更新 数据的规则,也会涉及到查询,所以再设置一个复合索引:

db.trajectory_data.createIndex({id: 1, source: 1, db: 1})

四、运行

运行前,需要在集合内插入一条含 business_time 字段的 demo 数据,否则 MongoDB input 会因为查不到数据而报错:

db.trajectory_data.insert({
id: 0,
source: 'xx数据',
db: "17-db2
http://www.jmfq.cn/news/4942927.html

相关文章:

  • 美国服务器网站推荐/正规seo排名公司
  • django网站开发实例源码/搜索引擎的优化方法
  • 网站开发学哪些/如何查询关键词的搜索量
  • 网站做推广有用吗/今日特大新闻
  • 怎么建设自己网站/网站设计是做什么的
  • seo优化培训多少钱/安卓优化大师官网
  • 上海网站建设高端/杭州seook优屏网络
  • 网站建设的3个阶段/seo关键词优化推荐
  • 怎么查询技术支持公司做的网站/怎么自己刷推广链接
  • 做的网站乱码怎么搞/旺道seo
  • 石家庄网站建设方案/推广普通话心得体会
  • 网站设计手机版为什么那么多背景/优化视频
  • 曲阜做网站哪家好/百度指数网页版
  • 什么网站程序可以做抽奖页面/网络seo是什么意思
  • 织梦医院网站开发/亿速云
  • 移动端电商网站/头条指数
  • 网站如何做浮窗/企业培训公司有哪些
  • 中山中小企业网站建设/yw77731域名查询
  • 排行网站模板/国家市场监督管理总局
  • 响应式网站的组成/360识图
  • wordpress网站地图生成/百度推广时间段在哪里设置
  • 河北手机版建站系统价格/启动互联全网营销推广
  • 凤凰网站建设公司/网站seo哪家好
  • 在线app开发网站建设/百度app免费下载安装
  • 大连网站建设仟亿科技/武汉今日新闻头条
  • 行业门户网站设计/提高工作效率8个方法
  • 商丘网吧什么时候恢复营业/建站网站关键词优化
  • 重庆制作网站培训/太原seo排名优化公司
  • 天津建筑工程信息招标网/seo是什么软件
  • seo网站优化推广教程/南京搜索引擎推广优化