1827 0

第15课:RDD创建内幕 [推广有奖]

  • 1关注
  • 8粉丝

硕士生

34%

还不是VIP/贵宾

-

威望
0
论坛币
305 个
通用积分
0
学术水平
5 点
热心指数
14 点
信用等级
2 点
经验
23002 点
帖子
73
精华
0
在线时间
135 小时
注册时间
2016-2-27
最后登录
2016-9-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

一、RDD的创建方式


Spark应用程序运行过程中,第一个RDD代表了Spark应用程序输入数据的来源,之后通过Trasformation来对RDD进行各种算子的

转换,来实现具体的算法。Spark中的基本方式:

1)使用程序中的集合创建,这种方式的实际意义主要用于测试;

2)使用本地文件系统创建,这种方式的实际意义主要用于测试大量数据的文件;

3)使用HDFS创建RDD,这种方式为生产环境中最常用的创建RDD的方式;

4)基于DB创建;

5)基于NoSQL。例如HBase;

6)基于S3(SC3)创建;

7)基于数据流创建。


二、RDD创建实战

1)通过集合创建,代码如下:

  1. object RDDBasedOnCollection {
  2.   def main (args: Array[String]) {
  3.     val conf = new SparkConf()//create SparkConf
  4.     conf.setAppName("RDDBasedOnCollection")//set app name
  5.     conf.setMaster("local")//run local
  6.     val sc =new SparkContext(conf)
  7.     val numbers = 1 to 100  //创建一个Scala集合
  8.     val rdd = sc.parallelize(numbers)
  9.     val sum =rdd.reduce(_+_)  //1+2=3 3+3=6 6+4=10
  10.     println("1+2+...+99+100"+"="+sum)
  11.   }
  12. }
复制代码

结果如下所示:

9XC0)$N0U]H48CW8_9DWF4X.png



2) 通过本地文件系统创建,代码如下:

  1. object RDDBasedOnLocalFile {
  2.   def main (args: Array[String]) {
  3.     val conf = new SparkConf()//create SparkConf
  4.     conf.setAppName("RDDBasedOnCollection")//set app name
  5.     conf.setMaster("local")//run local
  6.     val sc =new SparkContext(conf)
  7.     val rdd = sc.textFile("C:/Users/feng/IdeaProjects/WordCount/src/SparkText.txt")
  8.     val linesLength=rdd.map(line=>line.length())
  9.     val sum = linesLength.reduce(_+_)
  10.     println("the total characters of the file"+"="+sum)
  11.   }
  12. }
复制代码

结果如下:

IYZ8]MX$[~EDI[4YZUD6P8T.png


3)通过HDFS创建RDD,代码如下:

  1. val wordcount = sc.textFile("/library/wordcount/input/licenses").flatMap(_.split(" ")).map(word=>(word,1)).reduceByKey(_+_).filter(pair=>pair._2>20).collect().foreach(println)
复制代码

结果如下所示:

U)K2{SE2NT)MDG]Q0GFJ0R7.png



注:本学习笔记来自DT大数据梦工厂

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Collection Characters formation Character Projects Spark scala DT_Spark 大数据

已有 1 人评分经验 论坛币 热心指数 收起 理由
daazx + 20 + 5 + 3 精彩帖子

总评分: 经验 + 20  论坛币 + 5  热心指数 + 3   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-22 09:06