Linux 实训平台网络初始化、数据导入及 Hive 数据分析实战教程
①在 Linux 终端执行命令"'initnetwork'",或者双击桌面上名称为"初始化网络"的图标,初始化实训平台网络。 ②在 Linux 终端执行命令"'wget -P /course/Hive/data http://datasrc.tipdm.net:81/Hunan/module2/2-2/student_data.csv'",下载student_data.csv 到 Linux 本地/course/Hive/data 目录。 ③启动 Hive 交互式命令行前要先启动 Hadoop 集群和开启 MySQL 服务,再开启 Hive 服务,最后启动 Hive。在 Linux 终端执行命令"$HADOOP_HOME/sbin/start-all.sh",或者双击桌面上名称为"hadoop"的图标,启动 hadoop 集群;开启 MySQL 和 Hive 服务,点击 Hive 图标启动Hive。
(1)任务描述 现有一份数据student_data.csv,该数据为学生的相关信息,具体字段信息说明如下表。
观察该表字段和Hive表中的具体数据,完成以下任务。 ① 正常启动Hadoop集群、MySQL以及Hive服务。 ② 观察上表字段信息,在Hive中创建对应字段名及字段类型的表(以","分隔),命名为student_data,要求提交创建表的代码。
③ 将Linux本地路径/course/Hive/data/下的student_data.csv数据导入到student_data表, 并查看导入数据后的数据表的前10行数据。要求提交导入数据的代码和查询数据的结果截图。 ④ 查询成绩大于等于90的数据。要求提交查询数据的代码并截取查询数据的结果截图。统计三个班各有多少学生。要求提交查询数据的代码并截取查询数据的结果截图。 ⑤ 计算学生的平均年龄命名为avg_age,并计算平均成绩命名为avg_score。要求提交计算过程代码并截取统计结果截图。 ⑥ 统计学生中男,女各多少人,并求出相应的平均分数。要求提交计算过程代码并截取统计结果截图。 注:请将以上实现任务的代码及结果截图放入本地 word 中,需注明每小题题号加以区分,文档命名为"姓名+题号",如"张三+T2-1"。(平台处代码可在平台内部放入一个 txt 文档中进行导出)。
内容:①正常启动Hadoop集群、MySQL以及Hive服务的命令为:
$HADOOP_HOME/sbin/start-all.sh
service mysqld start
hive
②在Hive中创建对应字段名及字段类型的表student_data的代码如下:
CREATE TABLE student_data (
id INT,
name STRING,
gender STRING,
age INT,
class STRING,
score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
③将Linux本地路径/course/Hive/data/下的student_data.csv数据导入到student_data表,并查看导入数据后的数据表的前10行数据的代码如下:
LOAD DATA LOCAL INPATH '/course/Hive/data/student_data.csv' INTO TABLE student_data;
SELECT * FROM student_data LIMIT 10;
查询数据的结果截图:

④查询成绩大于等于90的数据的代码如下:
SELECT * FROM student_data WHERE score >= 90;
查询数据的结果截图:

统计三个班各有多少学生的代码如下:
SELECT class, COUNT(*) as student_count FROM student_data GROUP BY class;
查询数据的结果截图:

⑤计算学生的平均年龄命名为avg_age,并计算平均成绩命名为avg_score的代码如下:
SELECT AVG(age) as avg_age, AVG(score) as avg_score FROM student_data;
查询数据的结果截图:

⑥统计学生中男、女各多少人,并求出相应的平均分数的代码如下:
SELECT gender, COUNT(*) as count, AVG(score) as avg_score FROM student_data GROUP BY gender;
查询数据的结果截图: ![查询数据结果截图](https://i.imgur.com/5sQGZuq.png
原文地址: https://www.cveoy.top/t/topic/ptbL 著作权归作者所有。请勿转载和采集!