import pymysql
from pyecharts.charts import Bar
from pyecharts import options as opts
"""数据相关岗位的工资最值平均值"""
# 最低薪资
num = []
# 最高薪资
# 平均薪资
# 连接数据库
myClient = pymysql.connect(
host="192.168.191.100",
database='salary',
user='root',
password='123456'
)
# 创建游标
db = myClient.cursor()
"""提取数据"""
# 执行语句
db.execute('select min from salary1;')
# 获取所有结果
result = db.fetchall()
# 元祖类型result转换成列表
list_result = list(result)
for i in list_result:
num.append(i[0])
# 执行语句
db.execute('select max from salary1;')
# 获取所有结果
result = db.fetchall()
# 元祖类型result转换成列表
list_result = list(result)
for i in list_result:
num.append(i[0])
# 执行语句
db.execute('select avg from salary1;')
# 获取所有结果
result =db.fetchall()
# 元祖类型result转换成列表
list_result = list(result)
for i in list_result:
num.append(i[0])
# 关闭游标
db.close()
# 绘制图表
print(num)
addr = ["最大值","最小值", "平均值"]
bar = Bar(init_opts=opts.InitOpts(width="500px", height="400px"))#图表大小
bar.set_global_opts(
title_opts=opts.TitleOpts(title="工资", subtitle="万/月"),
xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 25}),
)
bar.add_xaxis(addr)
bar.add_yaxis("大数据岗位",num)
bar.render("大数据工资图.html")
首先,关于如何将数据集导入到Hive中,以下是具体步骤:
确保Hadoop集群和Hive已经启动成功。
将数据集复制到HDFS中的某个目录下。假设数据集位于本地文件系统的/path/to/dataset
目录下。执行以下命令将数据集上传到HDFS中: hdfs dfs -put /path/to/dataset /user/hive/warehouse/dbname.db/tablename
其中,dbname
是您想要创建的数据库名称,tablename
是您想要创建的表名称。
使用Hive进行数据导入。首先,启动Hive命令行界面: hive
在Hive中创建表,并指定数据集的位置和格式。假设数据集是以逗号分隔的文本文件,表的定义示例如下: sql CREATE EXTERNAL TABLE dbname.tablename ( column1 data_type, column2 data_type, ... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/hive/warehouse/dbname.db/tablename';
具体地,将dbname
替换为您的数据库名称,tablename
替换为您的表名称,column1
、column2
等替换为实际的列名和数据类型。
执行导入命令以从数据集中加载数据到Hive表中: sql LOAD DATA INPATH '/user/hive/warehouse/dbname.db/tablename' INTO TABLE dbname.tablename;
您现在可以在Hive中查询导入的数据。使用SELECT语句检查表中的数据: sql SELECT * FROM dbname.tablename;
这将返回表中的所有行。
至于如何使用Sqoop将数据导入到MySQL中,以下是具体步骤:
确保Hadoop集群和MySQL服务已经启动成功。
在命令行终端中执行以下命令进入MySQL命令行界面: shell mysql -u root -p
在MySQL中创建一个数据库(如果还没有)。假设您想要创建一个名为dblab
的数据库,执行以下命令: sql CREATE DATABASE dblab;
切换到新创建的数据库: sql USE dblab;
创建一个新表以存储导入的数据。假设您要创建一个名为user_action
的表,表的定义示例如下: sql CREATE TABLE user_action ( id VARCHAR(50), uid VARCHAR(50), item_id VARCHAR(50), behavior_type VARCHAR(10), item_category VARCHAR(50), visit_date DATE, province VARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
退出MySQL命令行界面: sql EXIT;
使用Sqoop从Hive导出数据到MySQL。确保已经切换到Sqoop的安装目录,并执行以下命令: shell ./bin/sqoop export --connect jdbc:mysql://localhost:3306/dblab --username root --password hadoop --table user_action --export-dir '/user/hive/warehouse/dbname.db/tablename' --fields-terminated-by '\t';
将命令中的以下参数替换为适当的值:
jdbc:mysql://localhost:3306/dblab
: MySQL连接URL,其中dblab
是您的数据库名称。root
: MySQL用户名。hadoop
: MySQL密码。user_action
: 要导入数据的表名称。/user/hive/warehouse/dbname.db/tablename
: 导出数据的Hive表的位置。执行此命令将通过Sqoop将数据从Hive导入到MySQL中的user_action
表中。
sql USE dblab; SELECT * FROM user_action LIMIT 10;
这将返回user_action
表中的前10行数据。希望以上步骤能够帮助您将数据集导入到Hive和MySQL中。如果有任何问题或需要进一步的帮助,请随时提问。