Python3连接MongoDB并写入数据

个人博客地址:Python3连接MongoDB并写入数据 | 一张假钞的真实世界

安装PyMongo

复制代码
$ pip3 install pymongo
Successfully installed pymongo-3.7.2

连接MongoDB并且批量插入操作

复制代码
#!/usr/bin/python3

import mysql.connector
import gzip
import json
from pymongo import MongoClient
from datetime import datetime

opsDateTime = datetime.now().isoformat(timespec='seconds')

config = {
    'user': 'roHive',
    'password': 'hive@bigdata!23',
    'host': '172.16.72.22',
    'database': 'azkaban3',
    'raise_on_warnings': True,
    'charset': 'latin1'
}

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
query = ("SELECT trigger_id, data FROM azkaban3.triggers")
cursor.execute(query)

scheduledList = []
for (triggerId, triggerData) in cursor:
    triggerJson = json.loads(gzip.decompress(bytes(triggerData, encoding='latin1')))
    actionJson = triggerJson['actions'][0]['actionJson']
    projectName = actionJson['projectName']
    flowName = actionJson['flowName']
    scheduledFlow = {'opsDateTime': opsDateTime, 'projectName': projectName, 'flowName': flowName}
    scheduledList.append(scheduledFlow)

cursor.close()
cnx.close()

mongoClient = MongoClient('mongodb://172.16.72.213:27017/')
opsDb = mongoClient.ops
azScheduled = opsDb.azScheduledFlow
azScheduled.insert_many(scheduledList)
相关推荐
Sirius.z8 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜8 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
ltl9 小时前
Serverless 数据库弹性理论:Neon 与 Aurora Serverless v2
数据库
·薯条大王9 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
Dxy123931021610 小时前
Python 如何使用 MySQL 的事务
python·mysql
marvelyu13 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
ZCBUS实时计算13 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
zd20057214 小时前
海洋微生物数据库
数据库·宏基因组
今儿敲了吗14 小时前
Python ——第三方包
笔记·python
麒麟水手14 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python