当前位置: 首页 > web >正文

spark中的转换算子

import org.apache.spark.{SparkConf, SparkContext}object Main {def main(args: Array[String]): Unit = {// 学习spark RDD中的转换算子// 1. map// 2. filter:过滤// 3. flatMap:flat(扁平化) + map(映射)// 4. reduceByKey: 键值对的数据(word,1),(hello,1)val conf = new SparkConf().setMaster("local[*]").setAppName("SparkDemo")val sc = new SparkContext(conf)// 创建一个RDD//val rdd = sc.parallelize(List(1,2,3,4,5,6,7,8,9,10))//val rdd1 = rdd.map(x => x * 2)// 使用filter算子,保留偶数//val rdd1 = rdd.filter(x => x % 2 == 0)// 有多个句子,每个句子有多个单词,单词之间使用空格前隔开// 目标: 把所有的单词找出来,做一个数组中// val rdd = sc.parallelize(List("hello world", "hello scala"))// val rdd1 = rdd.flatMap(x => x.split(" "))// 词频统计的例子val rdd = sc.parallelize(List("apple", "banana", "apple", "banana", "apple"))// val rdd1 = rdd.map(x => (x, 1))// val rdd3 = rdd1.reduceByKey((x, y) => x + y)rdd.map(x => (x, 1)).reduceByKey((x, y) => x + y).collect().foreach(println)// collect() 行动算子//rdd3.collect().foreach(println)}
}
http://www.xdnf.cn/news/6109.html

相关文章:

  • 易学探索助手-项目记录(九)
  • HTTP GET报文解读
  • 学习机器学习的体会与姓名性别预测案例分析
  • CMakeLists生成调用静态动态库可执行demo
  • 论语详解---缠中说禅(整理)
  • 通义千问-langchain使用构建(一)
  • ChromeDriver进程泄漏问题分析与最佳实践解决方案
  • 排序算法详解
  • Electron入门指南:用前端技术打造桌面应用
  • Socket API 核心函数详解
  • 一文了解 HTTP Content-Type:从基础到实战
  • 第六天——贪心算法——字符串分隔
  • 【C++】模板(初阶)
  • 从lightrag的prompt到基于openai Structured Outputs 的优化实现思路
  • 虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析
  • C语言学习之文件操作
  • HTTP / HTTPS 协议
  • Nginx 动静分离在 ZKmall 开源商城静态资源管理中的深度优化
  • LVDS系列12:Xilinx Ultrascale系可编程输入延迟(二)
  • ajax提交form表单数据举例
  • ARM杂谈——临界段保护恢复的中断状态可靠吗
  • Xcode报错:“Set `maskView` to `nil` before adding it as a subview of ZFMaskView
  • 计算机图形学之几何(Geometry)
  • Maven 下载安装与配置教程
  • 查看字节真实二进制形式示例解析1
  • NAT/代理服务器/内网穿透
  • 容器编排的革命:Kubernetes如何引领IT的云原生时代
  • 高并发内存池(四):Page Cache结构设计
  • How Sam‘s Club nudge customers into buying more
  • PTA编程题: 异常处理(python)