`
tangjunliang
  • 浏览: 109091 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop为什么处理小数据量时效果不好?

阅读更多

Every file, directory and block in HDFS is represented as an object in the namenode’s memory, each of which occupies 150 bytes, as a rule of thumb. So 10 million files, each using a block, would use about 3 gigabytes of memory.

摘自:http://blog.cloudera.com/blog/2009/02/the-small-files-problem/

hadoop处理大量小数据文件效果不好。

hadoop对数据的处理是分块处理的,默认是64M分为一个数据块,如果存在大量小数据文件(例如:2-3M一个的文件)这样的小数据文件远远不到一个数据块的大小就要按一个数据块来进行处理。
这样处理带来的后果由两个:1.存储大量小文件占据存储空间,致使存储效率不高检索速度也比大文件慢。
2.在进行MapReduce运算的时候这样的小文件消费计算能力,默认是按块来分配Map任务的(这个应该是使用小文件的主要缺点)

那么如何解决这个问题呢?
1.使用Hadoop提供的Har文件,Hadoop命令手册中有可以对小文件进行归档。
2.自己对数据进行处理,把若干小文件存储成超过64M的大文件。

hadoop 针对大块数据、流式处理
小文件: 网络、IO的开销与文件本身传输的开销比重太大,如果大文件就不一样了
SequeceFile是Hadoop API提供的一种二进制文件支持。这种二进制文件直接将<key, value>对序列化到文件中。一般对小文件可以使用这种文件合并,即将文件名作为key,文件内容作为value序列化到大文件中。这种文件格式有以下好处:
支持压缩,且可定制为基于Record或Block压缩(Block级压缩性能较优)
本地化任务支持:因为文件可以被切分,因此MapReduce任务时数据的本地化情况应该是非常好的。
难度低:因为是Hadoop框架提供的API,业务逻辑侧的修改比较简单。
坏处是需要一个合并文件的过程,且合并后的文件将不方便查看。

除了 小文件会占用太多NN的元数据存储外,过多的小文件会产生更多的小任务,任务上下文切换时间过多,CPU等资源利用也不足,整理计算性能会大大降低.
分享到:
评论

相关推荐

    Hadoop海量数据处理

    Hadoop是目前最受关注的大数据处理平台和解决方案,并且已经广泛应用于生产环境。本书主要介绍Hadoop技术的相关知识,不但详细介绍了Hadoop、MapReduce、HDFS、Hive和Sqoop,还深入探讨了Hadoop的运维和调优,并包含...

    Hadoop之电商广告数据分析系统的设计有实现

    随着互联网用户数量的不断增长,电商广告数据量也呈现出爆炸式增长。在这种背景下,利用Hadoop大数据平台进行广告数据分析变得至关重要。本文将深入探讨如何设计并实现一个基于Hadoop的电商广告数据分析系统,并通过...

    基于Hadoop的智能电网时序大数据处理方法.pdf

    根据提供的文件信息,以下是对标题“基于Hadoop的智能电网时序大数据处理方法.pdf”中所含知识点的详细说明: ### 知识点一:Hadoop在智能电网中的应用 文章介绍了如何利用Hadoop框架来处理智能电网中的时序大数据...

    与 Hadoop 对比,如何看待 Spark 技术? - 知乎1

    Hadoop 与 Spark 技术比较 Hadoop 是一个大数据处理技术,解决了大数据存储和处理的问题。HDFS(Hadoop Distributed File...在大数据处理中,Hadoop 和 Spark 技术可以相互补充和结合使用,以达到更好的数据处理效果。

    Hadoop海量网络数据处理平台的关键技术

    通过实验和具体的实际应用证明了该架构的可行性,且优化技术的应用对于提高海量网络数据处理业务的服务质量和安全性都有着明显的效果,后续基于该平台架构对其中的关键技术进行深入研究。 2.提出了一种基于分布式故障...

    hadoop平台的海量数据分类应用

    ### Hadoop平台下的海量数据分类应用 随着信息技术的迅速发展,大数据分析已成为当前研究与实践中的热点领域之一。本文探讨了在Hadoop平台上利用MapReduce框架进行海量数据分类的应用技术,重点介绍了InterIMAGE ...

    基于Hadoop的大数据处理平台设计与实现.docx

    数据量的爆炸性增长使得传统的数据处理方式难以应对,这就催生了对高效、可扩展的大数据处理技术的需求。研究目的旨在理解并利用Hadoop构建一个能够有效处理大数据的平台,提高数据处理效率。研究意义在于,通过...

    基于MPP-Hadoop混合架构高校数据集成系统研究

    混合架构结合了MPP和Hadoop各自的优点,能够在保持Hadoop处理非结构化数据能力的同时,通过MPP来提升结构化数据的处理能力。在该架构中,Hadoop可以作为数据收集和初步处理的平台,而MPP则负责深度分析和复杂查询。...

    基于Hadoop的电商平台大数据挖掘研究.pdf

    MapReduce模型则将计算分为两个阶段,即映射阶段(Map)和归约阶段(Reduce),通过这两个步骤来并行处理数据,极大提高了数据处理的速度和效率。 云计算大数据存储技术的提出,是为了解决大规模数据集在存储、计算...

    Hadoop期末课设~学生信息数据处理与分析 .docx

    【标题】:“Hadoop期末课设~学生信息数据处理与分析 .docx”涉及的知识点主要围绕大数据管理和Hadoop在学生信息数据处理中的应用。在这个背景下,学生信息数据的管理和分析成为了教育领域应对疫情挑战的关键工具。 ...

    基于Hadoop平台的交通管理数据存储系统设计分析.docx

    交通管理数据通常包括车辆信息、路况数据、交通流量等,具有大数据量、高并发、实时性等特点。因此,需要一个能够高效处理这些数据的系统,以便进行交通流量分析、预测拥堵、优化路线等。 7. 系统设计与实现: ...

    基于Hadoop的数据挖掘算法在葡萄酒信息数据分析系统中的应用.pdf

    关键词中提到的Hadoop是一个由Apache基金会支持的开源框架,它允许在由普通硬件构成的大型集群上进行分布式存储和处理数据。Hadoop具有高可靠性、高扩展性、高效能以及成本低等特点,非常适合用于大数据环境。 K-...

    基于Hadoop平台的并行数据挖掘算法工具箱与数据挖掘云.pdf

    随着互联网技术的快速发展及数据量的急剧增长,如何有效地管理和挖掘这些海量数据成为了一个亟待解决的问题。传统的数据挖掘技术在面对大规模数据集时往往显得力不从心。因此,开发出一种新的数据挖掘技术框架变得尤...

    基于Hadoop的图像处理示例.zip

    Hadoop作为一个开源的分布式计算框架,为处理大规模数据提供了强大支持。本示例"基于Hadoop的图像处理示例.zip"聚焦于如何利用Hadoop进行图像处理,这在AI领域中尤其重要,因为图像数据是AI应用如计算机视觉的主要...

    基于Hadoop的气象数据分布式存储技术研究.docx

    通过实证研究,论文展示了Hadoop在处理气象数据中的实际效果,证明了其在大数据处理领域的有效性和实用性。 总之,本篇论文深入剖析了Hadoop架构在气象数据分布式存储技术中的应用,不仅介绍了Hadoop的基础知识,还...

    基于Hadoop的学习行为数据云存储平台的设计与实现.docx

    3. **技术需求**:基于Hadoop的平台需具备高可用性、扩展性和弹性,能够灵活应对数据量的增长,同时要保证数据处理的效率和准确性。 **平台设计与实现** 在设计阶段,需要考虑Hadoop集群的硬件配置、网络架构以及...

Global site tag (gtag.js) - Google Analytics