前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RDD — flatmap

RDD — flatmap

作者头像
全栈程序员站长
发布于 2022-08-23 13:30:01
发布于 2022-08-23 13:30:01
35900
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

flatmap

flatmap 简单用法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  def main(args: Array[String]): Unit = { 
   
    //设置log级别
    Logger.getLogger("org").setLevel(Level.WARN)
    val conf = new SparkConf().setAppName("WordCountDemo").setMaster("local")
    val sc = new SparkContext(conf)
    sc.textFile("hdfs://hadoop001:9000/in/word")
      .flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect().foreach(println(_))
    sc.stop()
  }

flatmap 复杂用法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  def main(args: Array[String]): Unit = { 
   
    val spark = SparkSession.builder()
      .config("spark.executor.memory", "2g")
      .appName("WordCount")
      .master("local[6]")
      .getOrCreate()
    val sc = spark.sparkContext
    
    val array = Array((1,"a b c d"),(2,"a b c"),(3,"a b"))
    /** * 第一种写法 */
    val rdd = sc.parallelize(array)
      rdd.flatMap(x => { 
   
        val sub = ArrayBuffer.empty[(Int, String)]
        x._2.split(" ").foreach(e => { 
   
          sub.+=((x._1, e))
        })
        sub.iterator
      }).collect().foreach(println)

    /** * 第二种写法 */
    //rdd.flatMap(x=> x._2.split(" ").map(y =>(x._1,y))).collect().foreach(println)
    sc.stop()
    spark.close()
  }

结果
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(1,a)
(1,b)
(1,c)
(1,d)
(2,a)
(2,b)
(2,c)
(3,a)
(3,b)

一块石头一半做成了佛像,一半做成了台阶。台阶不服气的问佛:我们本是一块石头,凭什么人们都踩着我,而去朝拜你呢?佛说: 因为你只挨了一刀,而我却经历了千刀万剐,千锤万凿。台阶沉默了。第二天台阶又来找佛,说:这是我的朋友切菜板,您给个说法?

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139838.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
01-Spark的Local模式与应用开发入门
Spark 运行模式之一,用于在本地机器上单机模拟分布式计算的环境。在 local 模式下,Spark 会使用单个 JVM 进程来模拟分布式集群行为,所有 Spark 组件(如 SparkContext、Executor 等)都运行在同一个 JVM 进程中,不涉及集群间通信,适用本地开发、测试和调试。
JavaEdge
2024/05/26
2340
01-Spark的Local模式与应用开发入门
记一次使用Spark算子之用top()求Top N遇到的问题!
需求:使用spark统计词频,并求出现次数最多的10个词以及出现次数 问题:用Spark算子top(),求top N的时候结果不准确 我们用一首被初中生唱收费的《That girl》来做测试:
Spark学习技巧
2018/08/01
1.7K0
记一次使用Spark算子之用top()求Top N遇到的问题!
Spark——RDD转换操作
RDD的转换过程是惰性求值的,也就是,整个转换过程只记录轨迹,并不会发生真正的计算,只有遇到了行动操作时,才会触发真正的计算。
羊羽shine
2019/08/14
9650
spark基础练习(未完)
1、filter val rdd = sc.parallelize(List(1,2,3,4,5)) val mappedRDD = rdd.map(2*_) mappedRDD.collect val filteredRDD = mappedRdd.filter(_>4) filteredRDD.collect
用户3003813
2018/09/06
7560
spark基础练习(未完)
Scala写Spark笔记
CBeann
2023/12/25
1930
spark RDD transformation与action函数整理
3.过滤 filter 需要注意的是 filter并不会在原有RDD上过滤,而是根据filter的内容重新创建了一个RDD
用户3003813
2018/09/06
9010
spark RDD transformation与action函数整理
2021年大数据Spark(十三):Spark Core的RDD创建
官方文档:http://spark.apache.org/docs/latest/rdd-programming-guide.html#resilient-distributed-datasets-rdds
Lansonli
2021/10/09
5520
SparkCore 编程
2.创建一个数组,根据数据创建一个Bean对象,继承Order,实现序列化(Serializable).从而对数组进行排序。
曼路
2018/10/18
2800
大数据随记 —— DataFrame 与 RDD 之间的相互转换
在 Spark SQL 中有两种方式可以在 DataFrame 和 RDD 中进行转换:
繁依Fanyi
2023/05/07
1.2K0
大数据随记 —— DataFrame 与 RDD 之间的相互转换
spark常用的Transformations 和Actions
spark最长用的两个Transformations:map,filter,下面就来介绍一下这两个。
数据社
2020/06/16
4420
Spark2.x学习笔记:10、简易电影受众系统
该文介绍了计算模型在处理用户评分数据中的实用性和有效性。文章首先介绍了用户评分数据的特点,然后详细阐述了计算模型在处理用户评分数据中的重要作用。最后,文章探讨了如何通过计算模型来提高用户评分数据的处理效率。
程裕强
2018/01/02
1.2K0
Spark2.x学习笔记:10、简易电影受众系统
Spark快速入门系列(8) | 在IDEA上编写Spark程序的两种运行方式
  依赖 我们可以选择外部的porm.xml也可以选择在内部的porm.xml 两者的对比:
不温卜火
2020/10/28
1.3K0
Spark快速入门系列(8) | 在IDEA上编写Spark程序的两种运行方式
Spark常用的算子以及Scala函数总结
上海站 | 高性能计算之GPU CUDA培训 4月13-15日 三天密集式学习 快速带你晋级 阅读全文 > 正文共11264个字,7张图,预计阅读时间28分钟。 Spark与Scala 首先,介绍一
用户1332428
2018/04/17
1.9K0
Spark常用的算子以及Scala函数总结
大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Cor
  我们需要一个效率非常快,且能够支持迭代计算和有效数据共享的模型,Spark 应运而生。RDD 是基于工作集的工作模式,更多的是面向工作流。   但是无论是 MR 还是 RDD 都应该具有类似位置感知、容错和负载均衡等特性。
黑泽君
2019/05/10
2.5K0
大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Cor
Spark Core项目实战(3) | 页面单跳转化率统计
  计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5 叫一次单跳,7-9 也叫一次单跳,那么单跳转化率就是要统计页面点击的概率   比如:计算 3-5 的单跳转化率,先获取符合条件的 Session 对于页面 3 的访问次数(PV)为 A,然后获取符合条件的 Session 中访问了页面 3 又紧接着访问了页面 5 的次数为 B,那么 B/A 就是 3-5 的页面单跳转化率.
不温卜火
2020/10/28
5010
Spark Core项目实战(3) | 页面单跳转化率统计
Spark实现WordCount的几种方式总结
方法一:map + reduceByKey package com.cw.bigdata.spark.wordcount import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object WordCount1 { def main(args: Array[String]): Unit = { val config: SparkConf = new SparkConf().setM
大数据真好玩
2020/07/30
1.4K0
Spark Core快速入门系列(8) | RDD 的持久化
每碰到一个 Action 就会产生一个 job, 每个 job 开始计算的时候总是从这个 job 最开始的 RDD 开始计算.
不温卜火
2020/10/28
3230
Spark Core快速入门系列(8) |  RDD 的持久化
Spark- word Count案例
新建 idea Maven项目工程, 并创建子工程,pom.xml文件中引入spark依赖
宋先生
2021/07/23
2970
Spark- word Count案例
大数据开发-Spark编程
https://www.psvmc.cn/article/2022-04-21-bigdata-spark-idea.html
码客说
2022/04/28
4720
PySpark数据计算
在大数据处理的时代,Apache Spark以其高效的数据处理能力和灵活的编程模型,成为了数据科学家和工程师的热门选择。PySpark作为Spark的Python接口,使得数据处理和分析更加直观和便捷。本文详细讲解了PySpark中的常用RDD算子,包括map、flatMap、reduceByKey、filter、distinct和sortBy。
Heaven645
2024/08/13
2570
PySpark数据计算
相关推荐
01-Spark的Local模式与应用开发入门
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验