python连接mysql_Python 连接mysql与impala
前言:
机器学习平台开发初期,需要进行基于python的算法组件的开发(编写不同模型算法的python脚本,并以Azkaban调度的方式来运行模型)。
由于以前没有学过python,所以在最初的python环境搭建与数据库连接这一块,踩了不少的坑,在这里简单记录一下。(这是第一篇分享的公号,忘加原创,删了重新发的一版)
问题与方案:
1.开发环境的搭建
如果你也是一个像我这样的python小白,那么你首先需要的是安装Anaconda与Pycharm,具体的安装配置,你可以参考:https://www.cnblogs.com/yuxuefeng/articles/9235431.html
2.依赖包的安装
连接mysql
由于我的Python版本是3.0的,所以需要安装pymysql,如果你的Python版本是2.0的,那你可能需要安装mysqldb。
安装指令 pip install pymysql
毫无难度,demo会在文后给出。
连接impala
python连接impala就要相对复杂很多了,翻遍了网上的参考,下面这篇文章最有价值:https://ask.hellobi.com/blog/ysfyb/18251
安装指令pip install sixpip install thrift_sasl==0.2.1 --no-deps(安装的时候必须完整的加上这条指令)pip install pure-saslpip install impala
在这个过程中,如果一切安装顺利,那么在运行代码的过程中,可能还会出现报错,如果是下面这个方法的地方报错,那你需要在对应的位置加上如下一行代码。
def _send_message(): header=struct.pack(">BI",status,len(body))....if(type(body) is str): body = body.encode()
干货分享:
Python连接MySQL数据库demo
import pymysql # 建立数据库连接 mysql_client = pymysql.Connect( host='主机', port=3306, user='用户', passwd='密码', db='数据库', charset='utf8')def gettabledata(table_name): sscur = mysql_client.cursor(pymysql.cursors.SSCursor) sscur.execute('select * from {}'.format(table_name)) res = sscur.fetchall() # 获取结果 print(table_name) print(res) mysql_client.close()# 数据库连接和游标的关闭 sscur.close() return restable_name='表名'gettabledata(table_name)
Python连接impala数据源demo
import geventimport timefrom impala.dbapi import connectfrom impala.util import as_pandas class MyImpala: def __init__(self, host, port, user, password,auth_mechanism): self.host = host # impala主机地址 self.port = port # impala端口 self.user = user # impala远程连接用户名 self.password = password # impala远程连接密码 self.auth_mechanism = auth_mechanism # impala远程连接密码 self.impala_connect() # __init__初始化之后,执行的函数 def impala_connect(self): self.conn = connect(host=self.host, port=self.port, user=self.user, password=self.password, auth_mechanism=self.auth_mechanism, ) # 连接impala后执行的函数 self.asynchronous() def run(self, nmin, nmax): # 创建游标 self.cur = self.conn.cursor() # 定义sql语句,插入数据name,age,contace sql = "insert into jy_tb.student(name,age,contace) values (%s,%s,%s)" # 定义总插入行数为一个空列表 data_list = [] for i in range(nmin, nmax): # 添加所有任务到总的任务列表 result = ('zhangsan' + str(i), 12, i) data_list.append(result) # 执行多行插入,executemany(sql语句,数据(需一个元组类型)) content = self.cur.executemany(sql, data_list) if content: print('成功插入第{}条数据'.format(nmax - 1)) # 提交数据,必须提交,不然数据不会保存 self.conn.commit() def asynchronous(self): # g_l 任务列表 # 定义了异步的函数: 这里用到了一个gevent.spawn方法 max_line = 10 # 定义每次最大插入行数(max_line=10,即一次插入10行) g_l = [gevent.spawn(self.run, i, i+max_line) for i in range(1, 11, max_line)] # gevent.joinall 等待所以操作都执行完毕 gevent.joinall(g_l) self.cur.close() # 关闭游标 self.conn.close() # 关闭impala连接if __name__ == '__main__': start_time = time.time() # 计算程序开始时间 st = MyImpala('主机', 21050, 'yarn', '密码', 'PLAIN') # 实例化类,传入必要参数 print('程序耗时{:.2f}'.format(time.time() - start_time)) # 计算程序总耗时
总结:
瓶子注定是孤独的,骚年好好撸代码吧~⛽️⛽️⛽️
python连接mysql_Python 连接mysql与impala相关推荐
- python 连接mysql_Python 连接MySQL
数据库技术(例如MySQL)在气象业务和其他商业行业中都有着广泛的应用,气象与电网结合的大项目甚至都用上了hadoop分布式存储,Hadoop中的Hive组件和数据库在语法上高度相似. 传统运行mys ...
- python操作mysql_python操作MySQL
python操作MySQL.执行SQL语句.获取结果集.遍历结果集.取得谋个字段.获取表字段名.将图片插入数据库.执行事务等各种代码示例和详细介绍,代码居多. 实例一: 取得MySQL的版本 在win ...
- python连接mysql_Python连接MySQL
1.MySQL配置 1)MySQL下载地址:MySQL Community Server 8.0.15 下载 2)MySQL安装:MySQL安装 MySQL安装与使用 3)修改初始密码 使用以下命令登 ...
- python访问mysql_python连接mysql
首先需要导入驱动模块 打开cmd导入模块 pip install mysqldb(pymysql) python2.x版本--------->mysqldb python3.x版本------- ...
- python 连接mysql_python连接MySQL
首先,要安装好MySQL,结果我给忘了.. 应该是这个,我还在下载:http://dev.mysql.com/downloads/file.php?id=458460 然后,python要安装连接My ...
- python连接mysql_Python连接MYSQL数据库
首先在pycharm中安装mtsqlclient的包 等待安装完成以后,进入编辑页面就可以正常编程了.举例如下: import MySQLdb #import situation as sit con ...
- pymysql连接mysql_python使用MYSQL数据库
什么是MYSQL数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面, ...
- mac 黑窗口连接mysql_python操作mysql数据库
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
- python eve mysql_python连接 MySQ 数据库
python 是目前比较流行的语言,所以学习一下 首先需要 安装MySQL-python驱动 下载地址:http://dev.mysql.com/downloads/connector/python/ ...
最新文章
- python中的repr是什么意思_Python中__repr__和__str__区别详解
- CodeForces 1110H. Modest Substrings
- POJ2987 Firing 最大权闭合图
- 使用npm安装vue项目+使用
- 名字正则只能是中文英文_F开头的英文名字有哪些?英文名字典词典,根据中文名姓名发音起关联英文名,最强英文名取名攻略大全!...
- php exeil导入,反编译工具ILSpy.exe
- 2016 计算机控制技术试题,计算机控制技术试题
- 【FastDFS】分布式文件系统FastDFS之FastDHT文件去重
- PPT的一键操作 原来这么神奇
- no valid sudoers sources found, quitting ubuntu 16.04 devstack
- OpenAI又放大招:连接文本与图像的CLIP,在ImageNet上效果媲美ResNet50
- 不用运动快速有效减肥——红光光浴#大健康#红光光浴#红光#种光光学
- 如何处理接口幂等性问题(重复提交)
- Kahan求和公式原理
- 陶泓达:实力指导短线交易策略!让你翻仓回本
- XPRIZE宣布启动旨在保护全球热带雨林的新竞赛,奖金总额达1000万美元
- 四川高中计算机考试操作题,2017年excel考试操作题目「附答案」
- web项目设计与开发——DBHelper
- 单片机毕设分享100例(五)
- python读写protobuf