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.9
Kettle 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
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,进行链接测试
mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包
3.2 kettle链接MongoDB数据库容器环境测试结果
4.参考文章
【mongo】pymongo.errors.OperationFailure: Authentication failed., full error: {‘ok‘: 0.0, ‘errmsg‘: ‘A
docker安装mongodb提示bash: mongo: command not found