Spark学习笔记1:Spark概览
Spark是一个用来实现快速而通用的集群计算的平台
笔记1简单介绍了Spark以及Spark的各种组件
Spark Core、Spark SQL、Spark Streaming、Spark MLlib等
Spark学习笔记2:RDD编程
一个简单的单词计数的例子来开始介绍RDD编程
Spark对数据的操作无外乎创建RDD,转化已有RDD以及调用RDD操作进行求值
RDD编程:
1、创建RDD的两种方法
A、SparkContext.textFile()用来读取文本文件作为一个字符串RDD
B、把程序中一个已有的集合传给SparkContext的parallelize()方法
2、RDD操作:转化操作和行动操作
常见转化操作有:
map()操作用于接收一个函数,把这个函数用于RDD中的每个元素,将函数的返回结果作为结果RDD中对应元素的值。如 val counts = words.map(word =>(word,1)) 将每一个单词单词映射成键值对。
filter()接受函数,将RDD中满足该函数的元素放入新的RDD中返回。
flatMap()被分别应用到输入RDD的每个元素上,返回的是一个包含各个迭代器可访问的所有元素的RDD。可以用于将输入的字符串切分成单词。
集合操作:distinct() 生成只包含不同元素的新RDD, union(other)返回一个包含两个RDD中所有元素的RDD , intersection(other)只返回两个RDD中都有的元素,subtract(other)返回只存在于第一个RDD而不存在于第二