本文档详细介绍了如何在虚拟机中下载并启动 MySQL,创建数据库和表,将 HDFS 结果下载到本地,并使用 Python 脚本将数据插入 MySQL 数据库的整个流程。具体步骤如下:
第一步,下载MySQL。
链接:https://blog.csdn.net/ycsdn10/article/details/121930820
第二步,在虚拟机中启动MySQL,并新建数据库housemanager——>表airhour。
1.启动MySQL,输入下面:
mysql.server start
输入下面语句,并按照提示输入密码。
mysql -uroot -p
2.查看数据库。(注意:最后要加分号)
show databases;
3.新建数据库housemanager
create database housemanager;
4.切换进数据库housemanager中
use housemanager;
5.在数据库housemanager中新建表air_hour。注意:新建表中的字段和数据类型要写成自己的。
CREATE TABLE air_hour (
id INT AUTO_INCREMENT PRIMARY KEY,
city VARCHAR(255) NOT NULL,
hour INT NOT NULL,
aver_aqi FLOAT NOT NULL
);
(可选)6.查看数据库housemanager新建成功是否
show databases;
(可选)7.查看表air_hour新建成功是否
首先,切换到数据库housemanager中
use housemanager;
然后,查看数据库中的表。
show tables;
8.输出exit退出,或者“ctrl+z”直接退出。
exit
第三步,将HDFS的结果下载到本地。
1.查看HDFS存储的结果,我的存储结果在"/output_airhour/part-00000中。
hdfs dfs -ls /output_airhour/
2.将HDFS文件下载到本地。
前面的命令是我切换到指定下载路径的操作,不是很重要,你可以依据自己的需要更换路径。重要的是——将HDFS文件下载到本地,并查看下载后文件(airhour_result)的结果。
要记住自己的存放文件的路径:/opt/data/airhour_result(等下要用)。输入下面语句:
hdfs dfs -get /output_airhour/part-00000 /opt/data/airhour_result
第四步,编写python代码,设置数据库信息和相关输出路径。
在虚拟机中新建airhour_mysql.py。内容如下。注意以下情况:
①“1.连接到MySQL服务器”——要换成自己的密码和数据库;
②“2.打开本地文件”——本地文件存放的路径:“/opt/data/airhour_result”
③“2.2和2.3”——依据实际情况,换成自己的。2.2中要更换“air_hour (
city,
hour,
aver_aqi`)”这四处,2.3中要更换字段的数据类型。
# -*- coding: utf-8 -*-
import pymysql
# 1.连接到MySQL服务器
connection = pymysql.connect(host='localhost',
user='root',
password='写成自己的密码',
database='housemanager')
try:
with connection.cursor() as cursor:
# 2.打开本地文件
with open('/opt/data/airhour_result', 'r') as file:
for line in file:
# 2.1解析每行数据
city, hour, aver_aqi = line.strip().split('\t')
# 2.2插入数据到MySQL
sql = "INSERT INTO `air_hour` (`city`, `hour`, `aver_aqi`) VALUES (%s, %s, %s)"
# 2.3参数分别为:城市名(字符串),小时(整数),平均AQI(浮点数)
cursor.execute(sql, (city, int(hour), float(aver_aqi)))
# 提交更改
connection.commit()
finally:
# 关闭连接
connection.close()
第五步,运行程序并查看结果。
1.运行如下命令,执行airhour_mysql.py文件。
/usr/local/anaconda3/bin/python /opt/pyfile/airhour_mysql.py
如果其中遇到包没有安装,以pymysql包为例,输入以下语句:
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
2.在mysql中查看结果。
依据前面的步骤,在mysql中查看结果。首先,再次输入下面语句,进入mysql:
mysql -uroot -p
然后,输入下面语句,查看数据库;
show databases;
然后,输入下面语句,切换进“数据库housemanager”中;
use housemanager;
再然后,查看“数据库housemanager”中“表air_hour”;
show tables;
上面几步的代码运行如下:
最后,输入下面语句,查看“表air_hour”的结果:
select * from air_hour;
:
如有错误,欢迎在评论区大家指出!
版权归原作者 ss程序小白 所有, 如有侵权,请联系我们删除。