Introduction to Big Data with Apache Spark——week2课题笔记
2017-12-01 12:53
609 查看
SparkContext
RDD
从外部文件创造:
Transformations
Action
Cache
Spark流程
其他注意
其实就是定义了一个只读的全局变量,给所有机子缓存一份。
共享变量允许程序员将一个只读的变量缓存在每台机器上,而不是让每个任务随带一个变量的副本。广播变量为在每个节点上提供海量的输入数据集提供了一种高效的方式。Spark会尝试使用高效饿广播算法来减少分发广播变量的通信消耗。
广播变量通过调用SparkContext.broacase(v)创建, v是一个变量。广播变量是v的封装, v的值可以通过value方法访问。
2.2 累计器
累计器是只能通过关联操作做“加”运算的变量,从而可以高效支持并行。它可以用来实现计数器或者求和。Spark原生支持数字类型的累计器,程序员可以增加对新类型的支持。 如果累加器创建时赋给了一个名字,那么这个累加器会在Spark的UI上展现。这个有利于理解程序的执行过程(遗憾的是这个功能Python中暂不支持)。
累计器通过调用函数SparContext.accumulator(v)并赋予一个初值来创建。然后跑在集群上的任务就可以使用add方法或者+=运算符增加累计器的值。但是,任务是不能读这个累计器的值得,只有驱动程序才可以通过方法value来读。
总结
RDD
代码:
直接使用python的数据类型创造:从外部文件创造:
Transformations
代码:
Action
代码:
Cache
Spark流程
其他注意
1. key-value类型
2. 共享变量
2.1 广播变量其实就是定义了一个只读的全局变量,给所有机子缓存一份。
共享变量允许程序员将一个只读的变量缓存在每台机器上,而不是让每个任务随带一个变量的副本。广播变量为在每个节点上提供海量的输入数据集提供了一种高效的方式。Spark会尝试使用高效饿广播算法来减少分发广播变量的通信消耗。
广播变量通过调用SparkContext.broacase(v)创建, v是一个变量。广播变量是v的封装, v的值可以通过value方法访问。
代码:
broadcastVar = sc.broadcast([1, 2, 3]) broadcastVar.value out:[1, 2, 3]
2.2 累计器
累计器是只能通过关联操作做“加”运算的变量,从而可以高效支持并行。它可以用来实现计数器或者求和。Spark原生支持数字类型的累计器,程序员可以增加对新类型的支持。 如果累加器创建时赋给了一个名字,那么这个累加器会在Spark的UI上展现。这个有利于理解程序的执行过程(遗憾的是这个功能Python中暂不支持)。
累计器通过调用函数SparContext.accumulator(v)并赋予一个初值来创建。然后跑在集群上的任务就可以使用add方法或者+=运算符增加累计器的值。但是,任务是不能读这个累计器的值得,只有驱动程序才可以通过方法value来读。
代码:
accum = sc.accumulator(0) sc.parallelize([1, 2, 3, 4]).foreach(lambda x:/ accum.add(x)) accum.value out:10
总结
相关文章推荐
- BerkeleyX CS100.1x"Introduction to Big Data with Apache Spark"环境搭建
- Introduction to Big Data with Apache Spark 课程总结
- CS100.1x Introduction to Big Data with Apache Spark
- Introduction to Big Data with PySpark
- An introduction to Apache Hadoop for big data
- Introduction To Apache Spark(1)
- Putting Spark to Use: Fast In-Memory Computing for Your Big Data Applications
- Data Mining with Big Data--阅读笔记
- 读redis官方《A fifteen minute introduction to Redis data types》的笔记
- [翻译]Introduction to Monoids and Semigroups with Spark
- Making Apache Spark Easier to Use in Java with Java 8
- Is Apache Spark the Next Big Thing in Big Data?
- Introduction to Big Data
- Introduction to Monoids and Semigroups with Spark
- 《Mining Text Data》阅读笔记---第1章 An Introduction to Text Mining
- Building the Enterprise Fabric for Big Data with Vertica and Spark Integration
- Spark: Best practice for retrieving big data from RDD to local machine
- Pentaho Work with Big Data(二)—— Kettle提交Spark作业
- Hawq学习笔记 --- How to access HDFS data via GPDB external table with gphdfs protocol
- Altera笔记:Introduction to Parallel Computing with OpenCL