Hadoop Apache Spark是同时读取和处理,还是先读取内存中的整个文件,然后开始转换?
我很好奇Spark是先将整个文件读入内存,然后才开始处理它,这意味着应用转换和操作,还是读取文件的第一个块-对其应用转换,读取第二个块,依此类推 Hadoop中的Spark对于同一问题有什么不同吗?我读到Spark大多数时候都将整个文件保存在内存中,而Hadoop则没有。但是,当我们第一次阅读并映射关键点时,最初的步骤是什么呢Hadoop Apache Spark是同时读取和处理,还是先读取内存中的整个文件,然后开始转换?,hadoop,apache-spark,Hadoop,Apache Spark,我很好奇Spark是先将整个文件读入内存,然后才开始处理它,这意味着应用转换和操作,还是读取文件的第一个块-对其应用转换,读取第二个块,依此类推 Hadoop中的Spark对于同一问题有什么不同吗?我读到Spark大多数时候都将整个文件保存在内存中,而Hadoop则没有。但是,当我们第一次阅读并映射关键点时,最初的步骤是什么呢 谢谢Spark使用惰性迭代器处理数据,必要时可以将数据溢出到磁盘。它不会读取内存中的所有数据 与Hadoop相比,Spark的区别在于它可以将多个操作链接在一起。我认为一
谢谢Spark使用惰性迭代器处理数据,必要时可以将数据溢出到磁盘。它不会读取内存中的所有数据
与Hadoop相比,Spark的区别在于它可以将多个操作链接在一起。我认为一个合理的描述应该是: Hadoop(或者更准确地说是MapReduce)和Spark都使用相同的底层文件系统HDF 在映射阶段,两者都将读取所有数据,并将映射结果实际写入磁盘,以便通过无序逻辑在节点之间进行排序和分发。 事实上,除了将数据溢出到磁盘以便Shuffle执行其工作之外,这两种方法都会尝试缓存刚刚映射到内存中的数据。 不过,这里的区别在于Spark在这个过程中效率更高,它尝试将为特定计算选择的节点与已缓存在特定节点上的数据进行最佳对齐。 由于Spark也进行了一种称为惰性评估的操作,因此Spark的内存使用与Hadoop非常不同,这是同时规划计算和缓存的结果 在字数计算作业的步骤中,Hadoop执行以下操作:
1
1
s进行汇总您将看到,它总是遵循这样一种模式,即先确定哪些数据是,然后缓存哪些数据,然后再确定计算哪些数据在哪里。我猜您的意思是Mapreduce无法链接?Spark无法与“Hadoop,生态系统”相比