四级大数据与云计算复习资料

更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
HBase命令: #进入HBase Shell hbase shell; #创建表user,包含列族info(基本信息)和contact(联系方式) create 'user','info','contact'; #插入一行数据,包括基本信息列name为Alice,列age为28,联系方式列email为abc@163.com put 'user','001',info:name','Alice'; put 'user','001',info:age', 28; put 'user','001',contact:email','abc@163.com'; #扫描表数据 scan 'user'; #下线并删除表 disable 'user'; drop 'user'; 2.HDFS命令: #创建用户目录 hdfs dfs -mkdir /user/student #设置目录权限 hdfs dfs -chmod 750 /user/student #上传本地文件 hdfs dfs -put data.txt /user/student #重命名文件 hdfs dfs -mv /user/student/data.txt /user/student/log.txt #删除空目录 hdfs dfs -rmdir /user/temp 3.Hive SQL命令: SELECT visitor, DATE_FORMAT(date, 'yyyy-MM') AS month, SUM(view_cnt) AS month_total, SUM(SUM(view_cnt)) OVER ( PARTITION BY visitor ORDER BY DATE_FORMAT(date, 'yyyy-MM') ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS accumulate_total FROM t_access_times GROUP BY visitor,month ORDER BY visitor,month; 4.Mapper类和Reducer类关键代码 //对字段进行分割 String[] parts = line.split(" "); // 提取MAC地址 String mac = parts[parts.length - 1]; if (mac.startsWith("STA")) { mac = mac.substring(3); // 移除"STA"前缀 // 验证MAC格式(xx:xx:xx:xx:xx:xx) if (mac.matches("([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$")) { try { // 转换时间格式(Apr 23 11:49:54 → 2025-04-23 11:49:54) Date date = inputFormat.parse(timeStr); context.write(new Text(outputFormat.format(date)), new Text(mac)); } catch (ParseException e) { // 忽略时间解析错误 } } } public class LogReducer extends Reducer<Text, Text, Text, Text> { @Override protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException { // 直接输出时间与MAC地址对(无需聚合) for (Text mac : values) { context.write(key, mac); } } } 5.pyspark代码 # 创建SparkSession spark = SparkSession.builder \ .appName("Student Performance Analysis") \ .config("spark.sql.shuffle.partitions", "3") \ # 小数据集优化 .getOrCreate() #csv方式加载数据(自动推断schema) df = spark.read.csv("data01.txt", header=False, inferSchema=True) \ .toDF("student", "subject", "score") print("原始数据示例:")" df.show(3) #统计学生数量 student_count = df.select("student").distinct().count() print(f"\n该系共培养学生:{student_count}名") #计算科目平均分 subject_avg = df.groupBy("subject") \【缺少答案,请补充】