掌握Scala语言编程基础和弹性分布式数据集RDD的基本操作,掌握大数据格式与大数据预处理方法
Linux的虚拟机环境和实验指导手册
完成Scala编程语言基础实验、RDD编程实验和大数据预处理实验。
请按照实验指导手册 ,完成以下实验内容:
实验3-1 Scala语言编程基础
(1) Scala基本语法
(2) Scala基本数据类型和Scala函数等
实验3-2 弹性分布式数据集RDD基本操作
(1) RDD编程基础
(2) 转化和行动操作等
实验3-3 Spark数据预处理实验——Apache服务器访问日志分析行
(1) 日志数据格式与数据预处理
(2) 统计PV、IP、页面访问量等
(1) Scala基本语法
(2) Scala基本数据类型和Scala函数等
1、编写脚本,安装scala


#! /bin/sh
#run as zkpk@master
#configure scala
#configure scala
echo "=====start to install scala====="
tar -xzvf /home/zkpk/tgz/spark/scala-2.11.0.tgz -C /home/zkpk
echo 'export SCALA_HOME=/home/zkpk/scala-2.11.0' >> /home/zkpk/.bash_profile
echo 'export PATH=$SCALA_HOME/bin:$PATH' >> /home/zkpk/.bash_profile
source /home/zkpk/.bash_profile
echo "=====scala installed successfully====="
2、基础语法示例—输出hello,world
编写代码

测试

3、常见的数据类型和变量使用
命令行测试

4、函数的使用
编写代码1

运行测试1

编写代码2

运行测试2

编写代码3

运行测试3

柯里化函数的使用

可变长参数:可以向函数中传入多个同类型的参数

5、类的使用
构造函数


抽象类


(1) RDD编程基础
(2) 转化和行动操作等
1、启动spark-shell

2、RDD的创建与使用

使用textFile读取本地的系统文件,并计算整个文件中的字符总长度

3、RDD操作

4、函数的使用

5、用于操作k-v对的RDD操作

6、共享变量的使用
广播变量

累加器

(1) 日志数据格式与数据预处理
(2) 统计PV、IP、页面访问量等
1、启动spark-shell

2、解析日志文件

3、统计每日PV,使用count操作

4、使用sortByKey,按照请求日期字段进行排序,并将结果保存到本地


5、统计独立IP数

6、统计每种不同的HTTP状态对应的访问次数,并且以降序展示

7、统计不同独立IP的访问量,按照降序排列并展示前10条

8、统计不同页面的访问量

9、由于日志中有大量的js文件的访问,因此我们增加一个去除列表,过滤掉属于列表中后缀名的文件再对过滤后的logRDDv9执行统计操作

本次实验主要使用了Scala语言进行基本的操作,基本熟悉Scala的基本语法、数据类型以及函数的使用,在spark-shell下完成RDD的基本操作,根据实际业务需求使用spark 完成对Apache格式的日志内容的分析,了解了自定义日志过滤函数、日志预处理、日志的相关指标等操作。
因为Spark的源码是用Scala语言编写的,所以对我们来说学习Scala语言就很有意义,但是没有必要完全重新去学Scala,只要我们有一定的Java和C++的编程基础,基本看懂Scala问题不大,遇到不懂的再去查阅资料,这是一种更有效率的学习方法。
日志记录了web服务器接收处理请求以及运行时错误等各种原始信息。通过对日志进行统计、分析、综合,就能有效地掌握服务器的运行状况,发现和排除错误原因,所以学会日志的使用对我们更好的使用大数据平台至关重要。
实验总结
随着现代信息通讯技术的迅速发展和广泛应用,智能制造、网络购物、移动支付、共享经济等产业蓬勃发展,大数据在其中发挥着非常重要的作用,对绿色发展特别是在绿色生产、绿色生活和美好环境等方面也表现出显著的促进作用。具体而言,大数据促进绿色发展主要是通过大数据进行资源整合、实施科学决策、建立公共服务平台、创新生态环境监管模式,促进提质增效、技术创新和环境治理,推动产业转型升级、需求结构优化,最终形成绿色生产和绿色生活的绿色发展模式,以及人民所向往的美好环境。