mapreduce 的编程模型
数据编程模型: input--split--map--(combine,partition)->shuffle--reduce-- output
TextInputFormat的作用
数据切分:按照某个策略将输入数据切分成若干个split,以便确定MapTask个数以及对应的split。
为Mapper提供输入数据:读取给定的split的数据,解析成一个个的key/value对,共Mapper使用。
TextInputFormat extends FileInputFormat
FileInputFormat<K, V> extends InputFormat<K, V>
InputFormat {getSplits(); createRecordReader()}
spark 和 Hadoop的比较
http://www.elecfans.com/emb/20180226639630.html
都是大数据框架
MapReduce和Spark的主要区别在于,MapReduce使用持久存储,而Spark使用弹性分布式数据集(RDDS)。
容错
两者的灾难恢复方式迥异,但是都很不错。因为Hadoop将每次处理后的数据都写入到磁盘上,所以其天生就能很有弹性的对系统错误进行处理。Spark的数据对象存储在分布于数据集群中的叫做弹性分布式数据集(RDD: Resilient Distributed Dataset)中。“这些数据对象既可以放在内存,也可以放在磁盘,所以RDD同样也可以提供完成的灾难恢复功能。
网友评论