目录
一、实验描述 2
二、实验目的 2
三、实验环境 2
四、实验步骤 2
4.1 元数据库 Mysql 安装 2
2) 安装 mysql 所需依赖: 3
3) 解压 mysql 安装包: 3
4) 进入 aarch64 目录,对 rpm 包进行安装: 4
一、实验描述
利用 hive 命令行完成搜狗日志各项数据分析,使用 Python 进行数据可视化。主要步骤包括:安装部署 Hive、启动 Hadoop 集群、进入 Hive 命令行、创建数据库和数据表、加载或导入数据、用Hive SQL 完成需求、使用 Python 实现数据可视化。
二、实验目的
1.掌握安装Hive 的方法;
2.掌握Hive 创建数据库、导入数据的方法;
3.学会使用Hive SQL 分析数据;
4.学会数据可视化的方法。
三、实验环境
1.虚拟机数量:3;
2.系统版本:Centos 7.5;
3.Hadoop 版本:Apache Hadoop 2.7.3;
4.MySQL 版本:MySQL 5.7.30;
5.Hive 版本:Apache Hive 2.1.1。
四、实验步骤
实验开始前,请确保 Hadoop 集群已经安装成功(可参考实验三Hadoop 集群安装部署部分)。本文转载自http://www.biyezuopin.vip/onews.asp?id=14908接下来的步骤主要是:元数据库 Mysql 安装、Hive 安装部署、Hive SQL 数据分析、数据可视化。
4.1元数据库 Mysql 安装
本实验安装 MySQL 是为了给 Hive 提供元数据存储库,主要包括:yum 安装 MySQL、修改 MySQL root 密码、添加 zkpk 用户并赋予远程访问权限、修改数据库默认编码。
from matplotlib import lines
from pyhive import hive
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换 sans-serif 字体)
plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题)
conn = hive.Connection(host='119.3.212.133',port=10000,auth='NOSASL',username='root')
cursor = conn.cursor()
cursor.execute('select rank,count(*) as cnt from sogou_100w.sogou_ext_20111230 group by rank order by rank limit 30')
rank = []
clicks = []
for result in cursor.fetchall():
rank.append(result[0])
clicks.append(result[1])
cursor.close()
conn.close()
plt.plot(rank,clicks,marker='D')
plt.title('rank与点击次数折线图-2018211582')
plt.xlabel("rank")
plt.ylabel("点击次数")
plt.legend(['rank-点击次数'],loc=3)
x_major_locator=MultipleLocator(1)
#把x轴的刻度间隔设置为1,并存在变量里
ax=plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
for i,j in zip(rank,clicks):
plt.text(i,j+2,"%d"%j,horizontalalignment='center')
plt.show()












