逐元素Transformation

map()

map()接收函数,把函数应用到RDD的每个元素,返回新的RDD

举例:

val lines = sc.parallelize(Array("hello", "spark", "hello", "world")
val lines2 = lines.map(word => (word,1))
打印出来
lines2.foreach(println)
hello,1
spark,1
hello,1
world,1

filter()

filter接收函数,返回只包含满足filter()函数的元素的新RDD

val lines3 = lines.filter(word=>word.contains("hello"))
lines3.foreach(println)
hello
hello

flatMap()

对每个输入元素,输出多个输出元素。

flat是压扁的意思,将RDD中元素压扁后返回一个新的RDD。

举例:

spark.txt文件中的内容

val inputs = sc.textFile("spark.txt")
val lines = inputs.flatMap(line => line.split(" "))
lines.foreach(print)
输入如下:
hello!helloworldhellospark

集合运算

RDDs支持数字集合的计算,例如并集,交集计算。

举例:

val rdd1 = sc.parallelize(Array("hello", "spark", "hello", "world")
val rdd2= sc.parallelize(Array("hello", "spark", "hi")

运算

1、去重
val rdd_distinct=rdd1.distinct()
2、并集
val rdd_union = rdd1.union(rdd2)
3、交集
val rdd_inter = rdd1.intersection(rdd2)
4、特别的
val rdd_sub=rdd1.subtract(rdd2)

RDDs基本操作之Transformations的更多相关文章

  1. RDDs基本操作、RDDs特性、KeyValue对RDDs、RDD依赖

    摘要:RDD是Spark中极为重要的数据抽象,这里总结RDD的概念,基本操作Transformation(转换)与Action,RDDs的特性,KeyValue对RDDs的Transformation ...

  2. Spark快速入门 - Spark 1.6.0

    Spark快速入门 - Spark 1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 快速入门(Quick Start) 本文简单介绍了Spark的使用方式.首 ...

  3. <Spark><Running on a Cluster>

    Introduction 之前学习的时候都是通过使用spark-shell或者是在local模式运行spark 这边我们首先介绍Spark分布式应用的架构,然后讨论在分布式clusters中运行Spa ...

  4. [Spark]What's the difference between spark.sql.shuffle.partitions and spark.default.parallelism?

    From the answer here, spark.sql.shuffle.partitions configures the number of partitions that are used ...

  5. 大数据入门第二十四天——SparkStreaming(一)入门与示例

    一.概述 1.什么是spark streaming Spark Streaming is an extension of the core Spark API that enables scalabl ...

  6. Spark记录-官网学习配置篇(一)

    参考http://spark.apache.org/docs/latest/configuration.html Spark提供三个位置来配置系统: Spark属性控制大多数应用程序参数,可以使用Sp ...

  7. Parallelism , Partitioner

    转:spark通过合理设置spark.default.parallelism参数提高执行效率 spark中有partition的概念(和slice是同一个概念,在spark1.2中官网已经做出了说明) ...

  8. Spark Streaming原理简析

    执行流程 数据的接收 StreamingContext实例化的时候,需要传入一个SparkContext,然后指定要连接的spark matser url,即连接一个spark engine,用于获得 ...

  9. <译>Spark Sreaming 编程指南

    Spark Streaming 编程指南 Overview A Quick Example Basic Concepts Linking Initializing StreamingContext D ...

随机推荐

  1. 【数据结构】8.java源码关于HashMap

    1.hashmap的底层数据结构 众所皆知map的底层结构是类似邻接表的结构,但是进入1.8之后,链表模式再一定情况下又会转换为红黑树在JDK8中,当链表长度达到8,并且hash桶容量超过64(MIN ...

  2. PostgreSQL数据库查询最近几天的数据

    pgsql语法类似mysql  ,下面总结几个pgsql工作会用到的求时间的语句 1.当前时间向前推一天\ SELECT current_timestamp - interval '1 day' 例: ...

  3. Debian下Hadoop 3.12 集群搭建

    Debian系统配置 我这里在Vmware里面虚拟4个Debian系统,一个master,三个solver.hostname分别是master.solver1.solver2.solver3.对了,下 ...

  4. hibernate.validator 与 jackson

    1.使用hibernate.validator校验非空,在FormData类中 name字段上面加@NotEmpty @NotEmpty(message = "姓名必填") pri ...

  5. Redis|Sentinel 高可用架构

    一 前言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端 ...

  6. java中的case里嵌套if条件句; 输入一个年份的某一个月份,判断这个月有多少天

    public class year {    public static void main(String arg[]){        Scanner a=new Scanner(System.in ...

  7. lua_lua与.Net互相调用

    配置环境:创建C#项目,引入luainterface-1.5.3\Built下面的LuaInterface.dll文件和luanet.dll文件.引入命名空间using LuaInterface 代码 ...

  8. Oracle数据库之六 单行函数

    六.单行函数 6.1.认识单行函数 ​ 函数就是和 Java 语言之中的方法的功能是一样的,都是为了完成某些特定操作的功能支持,而在 Oracle 数据库里面也包含了大量的单行函数,这些函数掌握了以后 ...

  9. C# 开发 BIMFACE 系列

    本系列文章主要介绍使用 C# .ASP.NET(MVC)技术对 BIMFace 平台进行二次开发,以满足本公司针对建筑行业施工图审查系统的业务需求,例如图纸模型(PDF 文件.二维 CAD 模型.三维 ...

  10. docker进阶1-命令补充和容器卷使用

    命令补充 docker信息与帮助 docker version 和 docker info docker --help 查看所有docker命令列表 docker --help run/commit/ ...