没有合适的资源?快使用搜索试试~ 我知道了~
本节将介绍如何实际动手进行 RDD 的转换与操作,以及如何编写、编译、打包和运行 Spark 应用程序。 启动 Spark Shell Spark 的交互式脚本是一种学习 API 的简单途径,也是分析数据集交互的有力工具。Spark 包含多种运行模式,可使用单机模式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。 无论采用哪种模式,只要启动完成后,就初始化了一个 SparkContext 对象(SC),同时也创建了一个 SparkSQL 对象用于 SparkSQL 操作。进入 Scala 的交互界面中,就可以进行 RDD 的转换和行动操作。 进入目录 SPARK_HOM
资源推荐
资源详情
资源评论
Spark开发实例(编程实践)开发实例(编程实践)
本节将介绍如何实际动手进行 RDD 的转换与操作,以及如何编写、编译、打包和运行 Spark 应用程序。
启动启动 Spark Shell
Spark 的交互式脚本是一种学习 API 的简单途径,也是分析数据集交互的有力工具。Spark 包含多种运行模式,可使用单机模
式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。
无论采用哪种模式,只要启动完成后,就初始化了一个 SparkContext 对象(SC),同时也创建了一个 SparkSQL 对象用于
SparkSQL 操作。进入 Scala 的交互界面中,就可以进行 RDD 的转换和行动操作。
进入目录 SPARK_HOME/bin 下,执行如下命令启动 Spark Shell。
$./spark-shell
Spark Shell 使用使用
假定本地文件系统中,文件 home/hadoop/SparkData/WordCount/text1 的内容如下。
hello world
hello My name is john I love Hadoop programming
下面我们基于该文件进行 Spark Shell 操作。
1)利用本地文件系统的一个文本文件创建一个新)利用本地文件系统的一个文本文件创建一个新 RDD。。
scala>var textFile = sc.textFile(“file://home/Hadoop/SparkData/WordCount/text1”);
textFile:org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at
:12
2)执行动作操作,计算文档中有多少行。)执行动作操作,计算文档中有多少行。
scala>textFile.count() //RDD中有多少行
17/05/17 22:59:07 INFO spark.SparkContext:Job finished:count at:15, took 5.654325469 s
resl:Long = 2
返回结果表明文档中有“2”行。
3)执行动作操作,获取文档中的第一行内容。)执行动作操作,获取文档中的第一行内容。
scala>textFile.first() // RDD 第一行的内容
17/05/17 23:01:25 INFO spark.SparkContext:Job finished:first at :15,took
返回结果表明文档的第一行内容是“hello world”。
4)转换操作会将一个)转换操作会将一个 RDD 转换成一个新的转换成一个新的 RDD。获取包含。获取包含“hello”的行的代码如下的行的代码如下。
scala>var newRDD = textFile.filter (line => line.contains(“hello”)) //有多少行含有 hello
scala>newRDD.ount() // 有多少行含 hello
17/05/17 23:06:33 INFO spark.SparkContext:Job finished:count at :15,took 0.867975549 s
res4:Long = 2
这段代码首先通过转换操作 filter 形成一个只包括含有“hello”的行的 RDD,然后再通过 count 计算有多少行。
5))Spark Shell 的的 WordCount 实现实现
scala> val file = sc.textFile (“file://home/hendoop/SparkData/WordCount/text1”));
scala> val count = file.flatMap(line=>line.split(“”)).map(word => (word,1)).reduceByKey(_+_)
scala> count.collect()
17/05/17 23:11:46 INFO spark.SparkContext:Job finished: collect at:17,
took 1.624248037 s
res5: Array[(String, Int)] = Array((hello,2),(world,1),(My,1),(is,1),(love,1),(I,1),(John,1),(hadoop,1),(name,1),(programming,1))
使用 sparkContext 类中的 textFile() 读取本地文件,并生成 MappedBJDD。
使用 flatMap() 方法将文件内容按照空格拆分单词,拆分形成 FlatMappedRDD。
使用 map(word=>(word,1)) 将拆分的单词形成 数据对,此时生成 MappedBJDD。
使用 reduceByKey() 方法对单词的频度进行统计,由此生成 ShuffledRDD,并由 collect 运行作业得出结果。
编写编写Java应用程序应用程序
1. 安装安装 maven
手动安装 maven,可以访问 maven 官方下载 apache-maven-3.3.9-bin.zip。选择安装目录为 /usr/local/maven。
资源评论
weixin_38689824
- 粉丝: 6
- 资源: 946
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功