ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

spark学习 RDD编程

2022-02-27 22:34:44  阅读:190  来源: 互联网

标签:返回 元素 编程 RDD func 操作 spark 数据


RDD创建:

从从文件系统中加载数据创建RDD:

  1.Spark采用textFile()从文件系统中加载数据创建RDD 可以使本地,分布式系统等

  2.把文件的url作为参数 可以是本地文件系统的地址,分布式文件系统HDFS的地址等等

从本地文件中加载数据:

sc为系统自动创建的sparkcontext,不用我们创建

从文件word.txt中加载数据生成RDD

从分布式文件系统HDFS加载数据:

与上面同理,改变路径,注意端口号不一样

 

这三个是等价的,因为它会默认在用户登录的HDFS下寻找文件

RDD操作:

转换操作:

  1.对于RDD来说每次转换都会生成不同的RDD,供一个操作使用

  2.转换操作得到的RDD是惰性求值的,整个转换过程只是记录了转换的轨迹,并不会真正发生计算,只有遇到行动操作时才会发生计算。

常见的转换操作:

  filter(func):筛选出满足函数func的元素,并返回一个新的数据集

  map(func):将每个元素传递到函数func中,并将结果返回一新的数据集

  flatMap(func):与map()相似,但是每个输入的元素都可以映射到0或多个输出结果

  groupByKey():应用于(K,V)键值对的数据集时,返回一个新的(k,Iterable)形式的数据集

  reduceByKey(func):应用于(K,V)键值对的数据集时,返回一个新的(K,V)形式的数据集,其中每个值是将每个key传递到函数func中聚合

行动操作:

  行动操作是真正触发计算的地方。Spark程序执行到行动操作时,才会执行真正的计算,从文件中加载数据,完成一次又一次转换操作,最终,计算得到结果。

  count()返回集合中元素个数

  collect()以数组的形式返回数据集中所有元素

  first()返回数据集中的第一个元素

  take(n)以数组的形式返回数据集中的前n个元素

  reduce(func)通过函数func(输入两个参数并返回一个值)聚合数据集中的元素

  foreach(func)将数据集中的每个元素传递到函数func中运行

惰性机制:

 

第三行代码的reduce()方法是一个“行动(Action)”类型的操作,这时,就会触发真正的计算

这时,Spark会把计算分解成多个任务在不同的机器上执行,每台机器运行属于它自己的map和reduce,最后把结果返回给Driver

 

标签:返回,元素,编程,RDD,func,操作,spark,数据
来源: https://www.cnblogs.com/fengchuiguobanxia/p/15943534.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有