Nid*_*dhi 5 hadoop hdfs apache-spark hawq
我是 Hadoop 和 HDFS 的新手,我很困惑为什么 HDFS 不是需要低延迟的应用程序的首选。在大数据场景中,我们会将数据分布在不同的社区硬件上,因此访问数据应该更快。
Hadoop完全是一个批处理系统,旨在存储和分析结构化、非结构化和半结构化数据。
Hadoop的map /reduce框架相对较慢,因为它被设计为支持不同格式、结构和海量数据。
我们不应该说HDFS更慢,因为 HBase no-sql 数据库和基于 MPP 的数据源(如 Impala、Hawq)都位于 HDFS 上。这些数据源运行速度更快,因为它们不遵循 MapReduce 执行来进行数据检索和处理。
缓慢的发生只是因为基于 Map/Reduce 的执行的性质,它会产生大量的中间数据、节点之间交换的大量数据,从而导致巨大的磁盘 IO 延迟。此外,它必须在磁盘中保留大量数据以实现阶段之间的同步,以便支持作业从故障中恢复。此外,mapreduce 中没有办法将数据的全部/子集缓存在内存中。
Apache Spark是另一个批处理系统,但它比 Hadoop MapReduce 相对更快,因为它通过 RDD 将大部分输入数据缓存在内存中,并将中间数据保留在内存本身中,最终在完成或需要时将数据写入磁盘。
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |