Spark笔记
来源:互联网 发布:linux怎么退出man 编辑:程序博客网 时间:2024/05/21 15:01
- 基础知识
- RDD原理
- Spark 基础
- Spark 配置
- conf 和 sc
- RDD操作
- 函数
- 共享变量
- 广播变量
- 累加器
- 基础知识
基础知识
RDD原理
[RDD原理详解]
Spark 基础
[Spark基础教程]
Spark 配置
conf 和 sc
开发Spark程序第一件事就是SparkConf对象,这个对象包含应用的一些信息,然后创建SparkContext,SparkContext可以让Spark知道如何访问集群
conf = SparkConf().setAppName("<app name>") .setMaster("<集群地址>")sc = SparkContext(conf = conf)
RDD操作
[RDD操作全集]
- 转换
将已存在的数据集转换成新的数据集,例如map。转换是惰性的,不会立刻计算结果,仅仅记录转换操作应用的目标数据集,当动作需要一个结果时才计算。 - 动作
数据集计算后返回一个值给驱动程序,例如reduce
// 从protocols文件创建RDDval distFile = sc.textFile("/etc/protocols")// Map操作,每行的长度val lineLengths = distFile.map(s => s.length)// Reduce操作,获得所有行长度的和,即文件总长度,这里才会执行map运算val totalLength = lineLengths.reduce((a, b) => a + b)// 可以将转换后的RDD保存到集群内存中lineLengths.persist()
函数
//创建一个单例对象MyFunctionsobject MyFunctions { def func1(s: String): Int = {s.split(" ").length}}//将函数传入集群运行val lineLengths = sc.textFile("/etc/protocols").map(MyFunctions.func1)
共享变量
广播变量
广播变量可以在每个机器上缓存一个只读的变量,可以通过sc.broadcast(v)方法创建。广播变量能够更高效的进行数据集的分配。
累加器
// 创建累加器val accum = sc.accumulator(0, "My Accumulator")// 对RDD数据集的数值进行累加sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x)// 查看累加器的结果accum.value
0 0
- Spark笔记
- spark笔记
- Spark笔记
- spark笔记
- spark 笔记
- SPARK笔记
- Spark笔记
- spark笔记
- Spark笔记
- spark笔记
- spark笔记
- spark学习笔记:Spark Streaming
- Spark学习笔记:初识Spark
- Spark学习笔记--Spark基础知识
- spark学习笔记:初识spark
- Spark 学习笔记
- Spark学习笔记
- Spark学习笔记
- ACLlib 里的定时器
- 结构体作为STL map的key时需要注意什么? (某公司招聘面试试题)
- TortoiseSvn和Subclipse对应关系
- react-native环境搭建问题
- python抽取指定url页面的title
- Spark笔记
- 做项目总结1
- 链表的逆序打印
- PHP中使用CURL模拟登录并获取数据实例
- MySQL查询缓存设置 提高MySQL查询性能
- 一天一个LINUX命令教程[5]-chown命令
- Java equals()与hashCode()方法
- java内存溢出异常(OutOfMemoryError)和栈溢出异常(StackOverflowError)
- R语言数据分析、展现与实例(03)