spark编程第一篇

2018年4月25日11:56:45 发表评论 475 views

1、Spark第一句

每个Spark应用都包含一个驱动程序,它用于运行用户的主函数和在集群上执行各种并行操作

2、变量分享

变量分享主要有两种方式:广播变量和累加器

广播变量提供了一种只读的共享变量,它是把在每个机器节点上保存一个缓存,而不是每个任务保存一份副本。通常可以用来在每个节点上保存一个较大的输入数据集,这要比常规的变量副本更高效(一般的变量是每个任务一个副本,一个节点上可能有多个任务)。

累加器是一种只支持满足结合律的“累加”操作的变量,因此它可以很高效地支持并行计算。利用累加器可以实现计数(类似MapReduce中的计数器)或者求和。Spark原生支持了数字类型的累加器,开发者也可以自定义新的累加器;任务本身并不能读取累加器的值,只有驱动器程序可以用 value 方法访问累加器的值。

在编写rdd的算子是不要使用外部变量,避免产生closures问题。

3、deploy的client和cluster模式

client模式下submit必须在集群上的某个节点执行,也就是说提交应用程序的节点要作为整个程序运行的客户端,也就是说这个节点必须从属于集群;而cluster顾名思义,就是集群的意思,可以理解为提交的程序在某个集群运行,也就是说提交的机器只需要拥有单机版的spark环境就行了,至于提交的地方是哪里通过spark://指定就行了,提交的机器只作为提交的功能,提交完了之后就和他无关了。

4、example

参考1 参考2

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: