Spark
文章平均质量分 92
落花流水似往昔
从事大数据对年,有丰富的大数据开发经验
展开
-
Task的多线程问题
在上一篇文章<<Task序列化问题>>中,如果在Excutor关联一个单例对象数据会存在线程安全问题.在Object单例对象中,如果只读取成员变量,不进行其它变量操作.那样就会避免这种问题.但是,为了使程序运行百分百的安全,还是建议大家按照以下方法避免Spark中Task多线程–线程安全的问题.方案一:package day05.TaskThreadimport...原创 2019-11-07 21:23:55 · 337 阅读 · 0 评论 -
Task的序列化问题
从Driver关联数据一.创建一个Object的单例对象知识点:Driver初始化一个object,这个单例对象要伴随着Task发送到Executor,但是一个Executor中只有一份,必须实现序列化接口, 有可能会出现线程安全问题.创建一个单列对象代码如下:package day05/** * 必须序列化数据,因为是在Driver初始化, * 因为数据要伴随着Task的...原创 2019-11-07 13:56:51 · 205 阅读 · 0 评论 -
Spark的广播变量及其案列
广播变量:通俗的讲(本人自己的理解,如有错误,请多指教)就是一旦处理数据量大,生成的大量的Task.Driver需要将变量传递给每一个Task,这样就显得笨拙,低效率.而广播变量------->就是将Driver端的变量分发给executor一份,这样executor启动的Task就会共享这个变量.节省了通信的成本和服务器的资源.如何定义一个广播变量?代码如下: sc.broadcast...原创 2019-11-05 22:08:38 · 222 阅读 · 0 评论 -
Spark--代码优化案列
本人只针对在此次案列中,对于处理数据量大,内存溢出,效率低等问题的代码改善措施,拿来与大家分享如有改善意见,请多指教.元数据需求:在数据中提取课程和老师的信息,并对访问量进行排序.方案一:package day04import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}...原创 2019-11-05 00:12:57 · 135 阅读 · 0 评论 -
分别用Scala,Java,JavaLambda编写统计单词个数案列
Scalaimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * 1.创建SparkContext * 2.创建RDD * 3调用RDD的Transformation * 4调用Action * 5释放资源 */object Demo { d...原创 2019-11-01 00:29:42 · 202 阅读 · 0 评论