- 博客(7)
- 收藏
- 关注
原创 RDD编程-RDD算子的使用(三)-Action算子
* reduce/** * 行动算子: reduce * 逻辑: 将RDD中的数据,按照指定的规则进行聚合运算 */ @Test def reduceTest(): Unit = { // 1. 通过集合,创建一个RDD val rdd: RDD[Int] = sc.parallelize(1 to 100, 2) // 2. 聚合运算 val res: Int = rdd.reduce(_ + _)
2021-11-24 15:38:53
910
原创 RDD编程-RDD算子的使用(二)
一、aggregateByKey/** * 转换算子: aggregateByKey * 注意: 作用在PairedRDD身上 * 逻辑: 也是一个聚合运算,类似于reduceByKey和foldByKey * aggregateByKey[U: ClassTag](zeroValue: U)(seqOp: (U, V) => U, combOp: (U, U) => U) * - 按照相同的Key进行分组,将所有的va
2021-11-23 14:45:17
580
原创 RDD编程-RDD算子的使用
文章目录前言一、map二、mapPartition三、mapPartitionsWithIndex四、flatMap五、glom六、mapValues七、filter八、keyBy九、groupBy十、reduceByKey十一、foldByKey提示前言以下将会介绍常用RDD算子的使用介绍一、map /** * 转换算子: map * 逻辑: 对RDD中的每一个元素进行映射,映射为指定的值 * 对每一个分区中的每一个数据进行映射 */ @T
2021-11-23 14:30:20
1904
原创 RDD编程--创建RDD
RDD编程–创建RDD概述Spark 围绕弹性分布式数据集(RDD)的概念展开,RDD 是可以并行操作的元素的容错集合。创建 RDD 有两种方法: 在驱动程序中并行化现有集合,或引用外部存储系统中的数据集,例如共享文件系统、HDFS、HBase 或任何提供 Hadoop InputFormat 的数据源。并行集合并行化集合是通过在驱动程序(Scala )中的现有集合上调用SparkContext的parallelize方法来创建的Seq。集合的元素被复制以形成可以并行操作的分布式数据集。例如,这里是
2021-11-18 11:32:24
1338
原创 RDD编程--初始化Spark
RDD编程–初始化SparkSpark 程序必须做的第一件事是创建一个SparkContext对象,它告诉 Spark 如何访问集群。要创建一个,SparkContext您首先需要构建一个SparkConf对象,其中包含有关您的应用程序的信息。每个 JVM 应该只有一个 SparkContext 处于活动状态。stop()在创建新的之前,您必须激活 SparkContext。val conf = new SparkConf().setAppName(appName).setMaster(master)
2021-11-18 11:00:35
708
原创 RDD编程--与Spark的链接
RDD编程–与Spark的链接概述在高层次上,每个 Spark 应用程序都包含一个驱动程序,该驱动程序运行用户的main功能并在集群上执行各种并行操作。Spark 提供的主要抽象是弹性分布式数据集(RDD),它是跨集群节点分区的元素集合,可以并行操作。RDD 是通过从 Hadoop 文件系统(或任何其他 Hadoop 支持的文件系统)中的文件或驱动程序中现有的 Scala 集合开始,然后对其进行转换来创建的。用户还可以要求 Spark 将RDD持久化在内存中,以便在并行操作中有效地重用它。最后,RDD
2021-11-18 10:56:33
793
原创 HDFS的读写流程(完全分布式)
HDFS的读流程*1,客户端通过DistrubutedfileSystem向Namenode发送一个数据读取请求*2,NameNode在收到客户端发送过来的数据读取请求后,在内存中查询这个文件的元数据信息,将查询到的元数据信息返回给客户端,元数据信息:有多少个块,有多少个副本,每个副本在哪一个节点上,在每个节点的位置,文件的权限,文件的的所有者,文件的修改时间。。*3,客户端在收到了NameNode返回的元数据之后,选择一个DataNode请求数据。在此过程中,遵循就近原则。*4,DataN
2020-12-28 17:25:43
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人