使用kettle采集并处理MongoDB数据库中的数据

简介: 使用kettle采集并处理MongoDB数据库中的数据

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址

全文共计1654字,阅读大概需要3分钟

一、任务描述

本实验任务主要完成基于ubuntu环境的使用kettle采集并处理MongoDB数据库中的数据的工作。通过完成本实验任务,要求学生熟练掌握使用kettle采集并处理MongoDB数据库中的数据的方法,为后续实验的开展奠定ETL平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。


二、任务目标

1、掌握使用kettle采集并处理MongoDB数据库中的数据


三、任务环境

Ubuntu16.04、Java1.8、Kettle7.1、MongoDB3.6.2


四、任务分析

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。


五、 任务实施

步骤1、环境准备

右击Ubuntu操作系统桌面,从弹出菜单中选择【Open Terminal Here】命令 打开终端。

 启动MongoDB服务端。如图1所示。


833bf0f71fd64be187914544a17cf0ba.jpg


图1 启动MongoDB服务端

 启动MongoDB客户端,命令【mongo】。如图2所示。


1eb3922c14ed44728b0d07fdd5db0270.png


图2 启动MongoDB客户端

 查看kettleDB数据库中col集合的数据。如图3所示。

b446bde95d1b4f34aaa3c151bd529294.png



图3 查看数据

 重新打开一个终端,启动kettle。如图4所示。


4d5549387bca4f2d86ef163f9ca2fda4.png


图4 启动kettle


步骤2、创建Transformmations

新建一个”Transformmations”(双击Transformmations即可),然后选择”Design”栏,将”Big Data”下的”MongoDB input”,将”Input”下的”JSON input”和”Flow”下的”Filter rows”以及”Output”栏下的”Text file output”图标拖进工作区。按住Shift键,产生连线。同理其他的线也连上。注意箭头方向。如图5所示

133bf74b01524bd99b7c8d7a63755b00.png



图5创建Transformmations

 设置”MongoDB Input”相关内容(双击图表即可)。如图6-7所示。


2519ca9c0fb74d12a88845b2ee116bec.png


图6 设置”MongoDB Input”相关内容

ee7ca827d89d4091873c50c02d7cc3bd.png



图7 设置”MongoDB Input”相关内容

 设置”JSON Input”相关内容(双击图表即可)。如图8-9所示。


65d5906390b34dab9f440b910a747c00.png


图8 设置”JSON Input”相关内容


d65b7f7f53ab47bdaa6080bafd6c5175.png


图9 设置”JSON Input”相关内容

 设置”Filter rows”相关参数(双击图表即可)。如图10所示。

7f26608385cb40e3b5866b1513d67ca5.png



图10 设置”Filter rows”

 设置”Text file output”相关参数(双击图表即可)。如图11-13所示。


9322c69b5e254e4a9872ba0a8b5c5549.png


图11 设置”Text file output”


7da61ddd01be4eaabb090219cc59fb7c.png


图12 设置”Text file output”

ad2eae0b9e87494a89c4a160986dfca1.png



图13 设置”Text file output”


步骤3、运行任务

运行,清洗好的数据,批量导入到数据库。如图14-15所示。


ef025046b3774c0babfcb8613511b8fc.png


图14 运行任务

3f8fa033875844ea8c4f24942d5f851a.png



图15 保存任务

 查看运行结果。如图16所示。


18bbfa606c7e45809813eb380c9c24bf.png


图16 查看运行结果

 查看记录是否写入。如图17所示。


55d8bc1d02af46e891717900c3aa104a.png


图17 查看数据


♥ 知识链接

NoSQL 简介

NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。


♥ 温馨提示

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。


相关文章
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1393 79
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
294 11
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
518 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
1167 0
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
687 158

推荐镜像

更多