上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: spark的分区 ​ Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle过程属于哪个分区和Reduce的个数。 注意 (1)只有Key-Value类型的RDD才有分区器 阅读全文
posted @ 2020-08-05 19:48 来自遥远的水星 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,Spark还是为 阅读全文
posted @ 2020-08-05 19:24 来自遥远的水星 阅读(267) 评论(0) 推荐(0) 编辑
摘要: RDD的持久化 1. RDD Cache缓存 ​ RDD通过Cache或者Persist方法将前面的计算结果缓存,默认情况下会把数据以缓存在JVM的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的action算子时,该RDD将会被缓存在计算节点的内存中,并供后面重用。 使用 1.rdd 阅读全文
posted @ 2020-08-04 19:49 来自遥远的水星 阅读(396) 评论(0) 推荐(0) 编辑
摘要: RDD依赖关系 1. RDD血缘关系 ​ RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数 阅读全文
posted @ 2020-08-04 19:45 来自遥远的水星 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 测试准备 pom文件 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </depende 阅读全文
posted @ 2020-08-04 14:35 来自遥远的水星 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 在RDD中默认的算子sortBy,sortByKey只能真的值类型数据升序或者降序 现需要对自定义对象进行自定义排序。 一组Person对象 /** * Person 样例类 * @param name * @param age */ case class Person1(name: String, 阅读全文
posted @ 2020-08-04 13:49 来自遥远的水星 阅读(957) 评论(0) 推荐(0) 编辑
摘要: **sparkcontext.textFile()**返回的是HadoopRDD! 关于HadoopRDD的官方介绍,使用的是旧版的hadoop api ctrl+F12搜索 HadoopRDD的getPartitions方法,这里进行了分区计算 读取的是txt文件,用的是TextInputForm 阅读全文
posted @ 2020-08-01 08:52 来自遥远的水星 阅读(634) 评论(2) 推荐(1) 编辑
摘要: MapperReduce的shuffle shuffle阶段划分 Map阶段和Reduce阶段 任务 MapTask和ReduceTask shuffle过程 Map阶段shuffle:分区->排序->合并 ①数据从环形缓冲区溢写到磁盘前,需要先进行分区,然后区内排序 ②环形缓存区数据到达阈值(80 阅读全文
posted @ 2020-07-31 18:43 来自遥远的水星 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 一. 建立对应得目录 二.导入junit依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> 阅读全文
posted @ 2020-07-31 14:31 来自遥远的水星 阅读(1443) 评论(0) 推荐(0) 编辑
摘要: 一.Windows安装 1.安装 将spark-3.0.0-bin-hadoop3.2.tgz解压到非中文目录 2.使用 bin/spark-shell.cmd : 提供一个交互式shell val result: String = sc.textFile("input").flatMap(_.sp 阅读全文
posted @ 2020-07-29 20:47 来自遥远的水星 阅读(4359) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页