RDD工作机制实例详解

本文通过WordCount实例详细阐述Spark的RDD(Resilient Distributed Datasets)工作机制,从创建SparkConf和SparkContext,到加载数据、转换操作(如flatMap、map、reduceByKey),最后输出结果,揭示了RDD的transformations和actions在数据处理中的流程。在WordCount示例中,RDD的transformation包括数据读取、拆分、映射,action则涉及数据聚合与输出。
摘要由CSDN通过智能技术生成

RDD工作机制

RDD指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用,是Spark进行大数据处理计算的核心,在设计算法的时候,就是在设计RDD的操作,那么下面通过WordCount实例来详细介绍RDD的工作机制。关于RDD的特性和理论请参考“Spark 入门文档”。

1、在介绍RDD工作原理之前再回顾一下WordCount的例子:

   第一步:创建saprk的配置对象SparkConf

          val conf = new SparkConf()

          conf.setAppName("My First Spark App!").setMaster("local")

   第二步:创建SparkContext对象

          val sc  = new SparkContext(conf)

   第三步:根据具体数据来源(HDFS,Hbase等)通过SparkContext来创建RDD

          val lines = sc.textFile(“hdfs://{文件路径}/ helloSpark.txt”)

   第四步:将每行字符拆分为单个单词

          val words = lines.flatMap { line =>line.split(" ") }

   第五步:在单词拆分的基础上对每个单词实例计数为1

          val pairs = lines.map{word => (word, 1)}

   第六步:在每个单词实例为1的基础之上统计每个单词出现的总次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值