pymysql的使用——由HIVE到WEB端到MySQL实际应用的简单分享

本文介绍如何使用Python的PyMySQL模块连接并操作MySQL数据库。通过示例代码展示了建立连接、创建游标等基本步骤,并提供了从hive获取数据后存入MySQL的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在anacond cmd内进行安装,安装命令:pip install PyMySQL

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

# -*- coding:utf-8 -*-
import pymysql
  
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='tkq1', charset='utf8')
# 创建游标
cursor = conn.cursor()

引用文档:http://www.cnblogs.com/wt11/p/6141225.html


业务需求原创

根据需求使用方式:

import pymysql

DBHost=' '                             #——mySQL服务器地址
DBPort=                                          #——mySQL服务器端口号
DBUser=' '                                     #——用户名
DBUserPassword=' '                    #——密码
DB=' '                                  #——数据库名称
conn = pymysql.connect(host=DBHost, port=DBPort, user=DBUser, passwd=DBUserPassword, db=DB, charset='utf8') 
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

url='http://localhost:7778/predict' #web服务地址,此测试地址不上传值,仅随机返回True False
line = "6	ffff	ght4r4	20585"        
print(line)

try:
    if line != '' and line != "\t" and line !="\n":
        line=line.strip()
        yuqing_id,name,event,pdata=line.split("\t")
        #将hive查询内容拆解
        yuqing_id=yuqing_id.strip()
        name=name.strip()
        event=event.strip()
        pdata=pdata.strip()
            
except :
    print("FAILD")

data = yuqing_id   
r = requests.get(url)

print (r.text)
result =r.text
#result变量存储判断结果
        
if result == 'True':
    #判断简称对是否已经存在------后面再补
    n = cursor.execute("INSERT INTO yuqing_jiansuo(yuqing_id,name,event,pdata) VALUES(%s,%s,%s,%s)",[yuqing_id,name,event,pdata])
    conn.commit()
    
else:
    print("no")
    #放弃该条直接检查下一个
    
cursor.close()
conn.close()

使用hive固定文本,成功得到web反馈,判定成功存入MySQL内。

这里用到SQLyog平台:

使用Python将Hive的表同步到MySQL可以通过以下步骤实现: 1. **连接HiveMySQL数据库**:使用合适的Python库,如`pyhive`或`impyla`连接Hive数据库,使用`pymysql`连接MySQL数据库。 2. **读取Hive数据**:从Hive表中读取数据,可以使用SQL查询语句。 3. **写入MySQL数据**:将读取到的数据写入MySQL表中。 以下是一个示例代码,展示了如何使用Python将Hive的表同步到MySQL: ```python from pyhive import hive import pymysql # 连接Hive数据hive_conn = hive.Connection(host='hive_host', port=10000, username='hive_user', database='hive_database') hive_cursor = hive_conn.cursor() # 连接MySQL数据mysql_conn = pymysql.connect(host='mysql_host', port=3306, user='mysql_user', password='mysql_password', database='mysql_database') mysql_cursor = mysql_conn.cursor() # 读取Hive数据 hive_table = 'hive_table_name' hive_query = f"SELECT * FROM {hive_table}" hive_cursor.execute(hive_query) hive_data = hive_cursor.fetchall() # 获取Hive表的列名 hive_cursor.execute(f"DESCRIBE {hive_table}") hive_columns = [row[0] for row in hive_cursor.fetchall()] # 写入MySQL数据 mysql_table = 'mysql_table_name' # 创建MySQL表(如果不存在) mysql_cursor.execute(f"CREATE TABLE IF NOT EXISTS {mysql_table} ({', '.join([f'{col} VARCHAR(255)' for col in hive_columns])})") mysql_conn.commit() # 插入数据 insert_query = f"INSERT INTO {mysql_table} ({', '.join(hive_columns)}) VALUES ({', '.join(['%s'] * len(hive_columns))})" mysql_cursor.executemany(insert_query, hive_data) mysql_conn.commit() # 关闭连接 hive_cursor.close() hive_conn.close() mysql_cursor.close() mysql_conn.close() ``` ### 解释: 1. **连接数据库**:使用`pyhive`连接Hive数据库,使用`pymysql`连接MySQL数据库。 2. **读取数据**:从Hive表中读取所有数据,并获取列名。 3. **创建表**:在MySQL中创建与Hive表结构相同的表。 4. **插入数据**:将数据插入到MySQL表中。 5. **关闭连接**:关闭与数据库的连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值