摘要: 2.5 RDD中的函数传递 在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要主要的是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化的。下面我们看几个例子: 2.5.1 传递一个方法 1.创建一个类 class 阅读全文
posted @ 2018-11-30 20:22 诺坎普球童 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 2.1 编程模型 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(save 阅读全文
posted @ 2018-11-30 20:21 诺坎普球童 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 2.4 Action 2.4.1 reduce(func)案例 1. 作用:通过func函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据。 2. 需求:创建一个RDD,将所有元素聚合得到结果 (1)创建一个RDD[Int] scala val rdd1 = sc.makeRDD(1 t 阅读全文
posted @ 2018-11-30 20:16 诺坎普球童 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1.1 什么是RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。 1.2 RDD的属性 1) 一组分区(Partition),即数据集的基 阅读全文
posted @ 2018-11-30 20:13 诺坎普球童 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 1 Spark安装地址 运行环境:CentOS 6.8 Hadoop 2.7.2 JDK 1.8 Scala 2.11.8 Spark 2.1.1 集群以3台机器模拟:hadoop202 hadoop203 hadoop204 1.官网地址 http://spark.apache.org/ 2.文档 阅读全文
posted @ 2018-11-27 21:21 诺坎普球童 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 设计模式 1.模板模式Template A:模版设计模式概述 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现 抽象类(abstract)中的抽象方法(abstract)由子类重写,而最终方法(final)不能被子类重写,但可以直接被子类使用. 抽象类中的最终方法不能被子类重写, 阅读全文
posted @ 2018-07-13 16:29 诺坎普球童 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 27.01_反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载 就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象。 连接 验证 阅读全文
posted @ 2018-07-07 15:26 诺坎普球童 阅读(173) 评论(0) 推荐(0) 编辑