当前位置: 首页>数据库>正文

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)

1.一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。
2.熟悉、梳理、总结下MongoDB数据库相关知识体系
3.欢迎批评指正,跪谢一键三连!

  • kettle访问MongoDB数据库并处理数据至execl文件文章目录索引如下所示:

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_mongodb,第1张

【实操视频,辅助实操学习,欢迎点赞、关注,跪谢一键三连!】【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

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_docker_02,第2张

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容器最终运行效果

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_mongodb_03,第3张

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 链接测试配置详情

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_mongodb_04,第4张

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执行效果示例

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_kettle_05,第5张

3.kettle流程任务配置、效果验证

3.1 将MongoDB驱动包放到 kettlle lib 目录下,重启 kettle,进行链接测试

mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_mongodb_06,第6张

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_mongodb_07,第7张

3.2 kettle链接MongoDB数据库容器环境测试结果

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_docker_08,第8张

【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中),【kettle007】kettle访问MongoDB数据库并处理数据至execl文件(最近完善中)_kettle_09,第9张

4.参考文章

【mongo】pymongo.errors.OperationFailure: Authentication failed., full error: {‘ok‘: 0.0, ‘errmsg‘: ‘A

docker安装mongodb提示bash: mongo: command not found


https://www.xamrdz.com/database/6ng1951391.html

相关文章: