这篇文章将为大家详细讲解有关什么是Spark RDD,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。RDD字面上就是弹性分布式数据集(Resiliennt Distributed Datasets),它是一种抽象的概念,拥有容错、只读、分布式以及基于内存的特性。这里的弹性是什么意思呢?首先,Spark会自动地在内存不足情况下,将数据‘溢出’到磁盘里,使用 persist 和 cache 方法可以将任意RDD缓存到内存或写入磁盘,程序可自动根据数据情况进行切换;其次就是当某个RDD失效,通过Lineage 依赖链重新计算上有RDD即可找回数据;最后就是失败任务的重试机制,仅对失败的RDD进行特定次数的重试(默认好像4次,这个可以通过spark.stage.maxConsecutiveAttempts和spark.task.maxFailures两个参数调节,一个是针对stage级别的容错, 香港云主机一个是task级别)明白了RDD的基本概念,如何创建一个RDD呢?刚开始学习的时候可以使用HDFS文件创建,简化代码如下:
SparkConf cf = new SparkConf().setAppName(“HDFSFileTest”); JavaSparkContextjsc=new JavaSparkContext(cf); JavaRDD
比如lines里面读出来的是{1,2,3},进行map()转换操作:lines.map(x=>x+l) ,输出结果就是{2,3,4}只有Action才产生实际的计算:lines.count()统计RDD里返回结果:4 RDD之间还存在宽窄依赖,也是一个比较重要的概念,窄依赖是指父 RDD 的每个分区都只被子 RDD 的一个分区所使用,如map、flatMap、union、filter、distinct、subtract、sample等;宽依赖是指父 RDD 的每个分区都被多个子 RDD 的分区所依赖,如groupByKey、reduceByKey、join等。
关于什么是Spark RDD就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
相关推荐: 项目启动spring加载bean时卡住 log4j: Finished configuring. 问题如何解决
本篇内容介绍了“项目启动spring加载bean时卡住 log4j: Finished configuring. 问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。