当前位置:   article > 正文

Hive案例-学生成绩表综合案例_hive综合应用案例 — 学生成绩查询

hive综合应用案例 — 学生成绩查询

元数据

course数据:
  1. 1,数据库
  2. 2,数学
  3. 3,信息系统
  4. 4,操作系统
  5. 5,数据结构
  6. 6,数据处理
student数据:
  1. 95002,刘晨,女,19,IS
  2. 95017,王风娟,女,18,IS
  3. 95018,王一,女,19,IS
  4. 95013,冯伟,男,21,CS
  5. 95014,王小丽,女,19,CS
  6. 95019,邢小丽,女,19,IS
  7. 95020,赵钱,男,21,IS
  8. 95003,王敏,女,22,MA
  9. 95004,张立,男,19,IS
  10. 95012,孙花,女,20,CS
  11. 95010,孔小涛,男,19,CS
  12. 95005,刘刚,男,18,MA
  13. 95006,孙庆,男,23,CS
  14. 95007,易思玲,女,19,MA
  15. 95008,李娜,女,18,CS
  16. 95021,周二,男,17,MA
  17. 95022,郑明,男,20,MA
  18. 95001,李勇,男,20,CS
  19. 95011,包小柏,男,18,MA
  20. 95009,梦圆圆,女,18,MA
  21. 95015,王君,男,18,MA
  22. 95016,钱国,男,21,MA
studentcourse数据:
  1. 95001,1,81
  2. 95001,2,85
  3. 95001,3,88
  4. 95001,4,70
  5. 95002,2,90
  6. 95002,3,80
  7. 95002,4,71
  8. 95002,5,60
  9. 95003,1,82
  10. 95003,3,90
  11. 95003,5,100
  12. 95004,1,80
  13. 95004,2,92
  14. 95004,4,91
  15. 95004,5,70
  16. 95005,1,70
  17. 95005,2,92
  18. 95005,3,99
  19. 95005,6,87
  20. 95006,1,72
  21. 95006,2,62
  22. 95006,3,100
  23. 95006,4,59
  24. 95006,5,60
  25. 95006,6,98
  26. 95007,3,68
  27. 95007,4,91
  28. 95007,5,94
  29. 95007,6,78
  30. 95008,1,98
  31. 95008,3,89
  32. 95008,6,91
  33. 95009,2,81
  34. 95009,4,89
  35. 95009,6,100
  36. 95010,2,98
  37. 95010,5,90
  38. 95010,6,80
  39. 95011,1,81
  40. 95011,2,91
  41. 95011,3,81
  42. 95011,4,86
  43. 95012,1,81
  44. 95012,3,78
  45. 95012,4,85
  46. 95012,6,98
  47. 95013,1,98
  48. 95013,2,58
  49. 95013,4,88
  50. 95013,5,93
  51. 95014,1,91
  52. 95014,2,100
  53. 95014,4,98
  54. 95015,1,91
  55. 95015,3,59
  56. 95015,4,100
  57. 95015,6,95
  58. 95016,1,92
  59. 95016,2,99
  60. 95016,4,82
  61. 95017,4,82
  62. 95017,5,100
  63. 95017,6,58
  64. 95018,1,95
  65. 95018,2,100
  66. 95018,3,67
  67. 95018,4,78
  68. 95019,1,77
  69. 95019,2,90
  70. 95019,3,91
  71. 95019,4,67
  72. 95019,5,87
  73. 95020,1,66
  74. 95020,2,99
  75. 95020,5,93
  76. 95021,2,93
  77. 95021,5,91
  78. 95021,6,99
  79. 95022,3,69
  80. 95022,4,93
  81. 95022,5,82
  82. 95022,6,100
在hive中建表:
  1. create table course
  2. (num int,course string)
  3. row format delimited fields terminated by ',';
  4. load data local inpath '/home/potter/course.txt'
  5. into table course;
  6. create table student
  7. (id int , name string , sex string ,age int , deparment string)
  8. row format delimited fields terminated by ',';
  9. load data local inpath "/home/potter/student1.txt"
  10. into table student;
  11. create table studentcourse
  12. (id int,num int,score int)
  13. row format delimited fields terminated by ',';
  14. load data local inpath '/home/potter/studentcourse.txt'
  15. into table studentcourse;
第一题:基本操作

(1)查询全体学生的学号与姓名

  1. select id,name from student;
  2. 结果:
  3. 95002 刘晨
  4. 95017 王风娟
  5. 95018 王一
  6. 95013 冯伟
  7. 95014 王小丽
  8. 95019 邢小丽
  9. 95020 赵钱
  10. 95003 王敏
  11. 95004 张立
  12. 95012 孙花
  13. 95010 孔小涛
  14. 95005 刘刚
  15. 95006 孙庆
  16. 95007 易思玲
  17. 95008 李娜
  18. 95021 周二
  19. 95022 郑明
  20. 95001 李勇
  21. 95011 包小柏
  22. 95009 梦圆圆
  23. 95015 王君
  24. 95016 钱国

(2)查询选修了课程的学生姓名

  1. create table id_course as
  2. select sc.id id,c.course course
  3. from course c join studentcourse sc on c.num=sc.num ;
  4. 结果:
  5. id_course.id id_course.course
  6. 95001 数据库
  7. 95001 数学
  8. 95001 信息系统
  9. 95001 操作系统
  10. 95002 数学
  11. 95002 信息系统
  12. 95002 操作系统
  13. 95002 数据结构
  14. 95003 数据库
  15. 95003 信息系统
  16. 95003 数据结构
  17. 95004 数据库
  18. 95004 数学
  19. 95004 操作系统
  20. 95004 数据结构
  21. 95005 数据库
  22. 95005 数学
  23. 95005 信息系统
  24. 95005 数据处理
  25. 95006 数据库
  26. 95006 数学
  27. 95006 信息系统
  28. 95006 操作系统
  29. 95006 数据结构
  30. 95006 数据处理
  31. 95007 信息系统
  32. 95007 操作系统
  33. 95007 数据结构
  34. 95007 数据处理
  35. 95008 数据库
  36. 95008 信息系统
  37. 95008 数据处理
  38. 95009 数学
  39. 95009 操作系统
  40. 95009 数据处理
  41. 95010 数学
  42. 95010 数据结构
  43. 95010 数据处理
  44. 95011 数据库
  45. 95011 数学
  46. 95011 信息系统
  47. 95011 操作系统
  48. 95012 数据库
  49. 95012 信息系统
  50. 95012 操作系统
  51. 95012 数据处理
  52. 95013 数据库
  53. 95013 数学
  54. 95013 操作系统
  55. 95013 数据结构
  56. 95014 数据库
  57. 95014 数学
  58. 95014 操作系统
  59. 95015 数据库
  60. 95015 信息系统
  61. 95015 操作系统
  62. 95015 数据处理
  63. 95016 数据库
  64. 95016 数学
  65. 95016 操作系统
  66. 95017 操作系统
  67. 95017 数据结构
  68. 95017 数据处理
  69. 95018 数据库
  70. 95018 数学
  71. 95018 信息系统
  72. 95018 操作系统
  73. 95019 数据库
  74. 95019 数学
  75. 95019 信息系统
  76. 95019 操作系统
  77. 95019 数据结构
  78. 95020 数据库
  79. 95020 数学
  80. 95020 数据结构
  81. 95021 数学
  82. 95021 数据结构
  83. 95021 数据处理
  84. 95022 信息系统
  85. 95022 操作系统
  86. 95022 数据结构
  87. 95022 数据处理
  88. select ic.course, s.name
  89. from id_course ic join student s on ic.id=s.id;
  90. 结果:
  91. 数据库 李勇
  92. 数学 李勇
  93. 信息系统 李勇
  94. 操作系统 李勇
  95. 数学 刘晨
  96. 信息系统 刘晨
  97. 操作系统 刘晨
  98. 数据结构 刘晨
  99. 数据库 王敏
  100. 信息系统 王敏
  101. 数据结构 王敏
  102. 数据库 张立
  103. 数学 张立
  104. 操作系统 张立
  105. 数据结构 张立
  106. 数据库 刘刚
  107. 数学 刘刚
  108. 信息系统 刘刚
  109. 数据处理 刘刚
  110. 数据库 孙庆
  111. 数学 孙庆
  112. 信息系统 孙庆
  113. 操作系统 孙庆
  114. 数据结构 孙庆
  115. 数据处理 孙庆
  116. 信息系统 易思玲
  117. 操作系统 易思玲
  118. 数据结构 易思玲
  119. 数据处理 易思玲
  120. 数据库 李娜
  121. 信息系统 李娜
  122. 数据处理 李娜
  123. 数学 梦圆圆
  124. 操作系统 梦圆圆
  125. 数据处理 梦圆圆
  126. 数学 孔小涛
  127. 数据结构 孔小涛
  128. 数据处理 孔小涛
  129. 数据库 包小柏
  130. 数学 包小柏
  131. 信息系统 包小柏
  132. 操作系统 包小柏
  133. 数据库 孙花
  134. 信息系统 孙花
  135. 操作系统 孙花
  136. 数据处理 孙花
  137. 数据库 冯伟
  138. 数学 冯伟
  139. 操作系统 冯伟
  140. 数据结构 冯伟
  141. 数据库 王小丽
  142. 数学 王小丽
  143. 操作系统 王小丽
  144. 数据库 王君
  145. 信息系统 王君
  146. 操作系统 王君
  147. 数据处理 王君
  148. 数据库 钱国
  149. 数学 钱国
  150. 操作系统 钱国
  151. 操作系统 王风娟
  152. 数据结构 王风娟
  153. 数据处理 王风娟
  154. 数据库 王一
  155. 数学 王一
  156. 信息系统 王一
  157. 操作系统 王一
  158. 数据库 邢小丽
  159. 数学 邢小丽
  160. 信息系统 邢小丽
  161. 操作系统 邢小丽
  162. 数据结构 邢小丽
  163. 数据库 赵钱
  164. 数学 赵钱
  165. 数据结构 赵钱
  166. 数学 周二
  167. 数据结构 周二
  168. 数据处理 周二
  169. 信息系统 郑明
  170. 操作系统 郑明
  171. 数据结构 郑明
  172. 数据处理 郑明
第二题:hive的group by 和集合函数

(1)查询学生的总人数

  1. select count(*) from student;
  2. 结果:
  3. 22

(2)计算1号课程的学生平均成绩

  1. select num ,avg(score)
  2. from studentcourse where num=1 group by num;
  3. 结果:
  4. 1 83.66666666666667

(3)查询各科成绩平均分

  1. create table course_score as
  2. select c.course course,sc.score score
  3. from course c join studentcourse sc on c.num=sc.num;
  4. 结果:
  5. course_score.course course_score.score
  6. 数据库 81
  7. 数学 85
  8. 信息系统 88
  9. 操作系统 70
  10. 数学 90
  11. 信息系统 80
  12. 操作系统 71
  13. 数据结构 60
  14. 数据库 82
  15. 信息系统 90
  16. 数据结构 100
  17. 数据库 80
  18. 数学 92
  19. 操作系统 91
  20. 数据结构 70
  21. 数据库 70
  22. 数学 92
  23. 信息系统 99
  24. 数据处理 87
  25. 数据库 72
  26. 数学 62
  27. 信息
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/686588
推荐阅读
相关标签
  

闽ICP备14008679号