1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。
2.熟悉、梳理、总结下MongoDB分布式文件存储数据库相关知识体系
3.欢迎批评指正,跪谢一键三连!
kettle访问MongoDB数据库并处理数据至execl文件文章目录索引如下所示:
【实操视频,辅助实操学习,欢迎点赞、关注,跪谢一键三连!】【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(已更新)
1.MongoDB环境搭建、配置
1.0 实验环境信息
Windows 10
CentOS 7.1(虚拟机)
Docker version 26.0.2
NoSQLBooster 8.1.9 Free Edition
,下载地址:nosqlbooster4mongo-8.1.9Kettle 8.2
- MonDB版本:
7.0.9
1.1 拉取MongoDB数据库镜像,并创建容器
docker pull mongo:latest docker images docker run -d -p 27017:27017 --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo docker ps -a docker exec -it mongodb /bin/bash mongosh -u 'admin' -p '123456' --authenticationDatabase 'admin' # 开放防火墙端口 sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload
1.2 MongoDB容器最终运行效果
1.3 问题记录
- mongo -u ‘admin’ -p ‘123456’ --authenticationDatabase ‘admin’ 命令报错:
bash: mongo: command not found
MongoDB 6.0全面弃用mongo而使用mongosh
- mongo -u ‘admin’ -p ‘123456’ --authenticationDatabase ‘admin’ 命令报错:
2.MongoDB数据库容器链接测试
hostname: 192.168.10.183 # 替换成本地实验的地址,MySQL驱动 port: 27017 用户名: admin 密码:123456
2.1 链接测试配置详情
2.2 新建数据库,新建用户及密码,新建表并测试
use youlidb db.createUser({"user":"youli","pwd":"youli","roles":[{"role":"dbOwner","db":"youlidb"}]}); db.tb_youli.insert({username:'李四',age:11}) db.tb_youli.insert({username:"小明",age:12}) db.tb_youli.insert({username:"小红",age:31}) db.tb_youli.insert({username:"明凯",age:12}) db.tb_youli.insert({username:"秀红",age:22}) db.tb_youli.find() -- 查询所有数据 # 查看数据库 show dbs # 创建的数据库名称youli use youli # 查看数据表(集合) show collections # 检索表中的所有数据 db.tb_user.find() # 新建数据表、插入数据 db.tb_youli.insert({username:'李四',age:11}) # 删除数据表 db.tb_youli.drop() # 删除数据库 db.dropDatabase()
2.3 SQL执行效果示例
3.kettle流程任务配置、效果验证
- 3.1 将MongoDB驱动包放到 kettlle lib 目录下,重启 kettle,进行链接测试
- 3.2 kettle链接
MongoDB
数据库容器环境测试结果