`
tangjunliang
  • 浏览: 107334 次
  • 性别: 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海量网络数据处理平台的关键技术

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

    论文研究-基于Hadoop的城市交通碳排放数据挖掘研究.pdf

    针对交通数据大吞吐量及时效性等特点,为了更高效地处理该类型数据,探索了一种基于云计算服务模式的、利用Hadoop技术架构可扩展的交通数据处理、发布、服务实现方法,并实现了原型系统。该方法的主要思想是利用...

    基于Hadoop的电信大数据采集方案研究与实现

    ETL是数据仓库实施过程中...最后,根据Hadoop和Oracle的系统运行日志,比较分析了两个平台的采集效率与数据量之间的关系。实践表明,混搭架构的大数据平台优势互补,可有效提升数据采集时效性,获得比较好的应用效果。

    基于大数据(Hadoop+Java+MySQL)的数码商城购物推荐系统设计与实现.zip

    合理的为用户做出推荐,推荐的结果可靠程度很高,这就是我的优势所在,因为它和一般的推荐系统的推荐算法不太一样,我的推荐算法是利用Hadoop技术写的,我们可以利用Hadoop集群的高吞吐量,一次读取多次写入等特点...

    论文研究-基于Hadoop平台的SVM_WNB分类算法的研究.pdf

    然而它们的缺点使得分类效果受到了影响,而且传统的数据挖掘分类算法也无法满足对于海量数据的处理。针对这些问题,这里对传统的朴素贝叶斯算法进行了分析和改进,提出了SVM_WNB分类算法,并且在Hadoop云平台上对...

    基于Hadoop的高校校园大数据平台构建.docx

    2. 数据处理:通过Hadoop生态系统的强大数据处理能力,高校可以对大量的数据进行高效地处理和分析,为师生提供更好的数据支持和服务。 3. 数据分析:借助Hadoop平台提供的数据分析工具和算法,高校可以挖掘出数据中...

    对网页日志数据分析与处理 ,基于Hadoop 的协同过 滤算法对处理后的数据进行建模分析,并实现智能推荐 ,个性化推荐 ,

    长通过对用户访问的网页日志数据进行分析与处理 ,采用基于大数据平台 Hadoop 的协同过 滤算法对处理后的数据进行建模分析,并运用模型设计实现智能推荐 ,进行个性化推荐 ,节省 用户找寻信息的时间 ,提高找寻信息...

    基于Hadoop的Apriori算法研究与优化

    为解决传统数据挖掘算法在大量数据处理时面临的内存占用、计算性能等方面的问题,基于Hadoop平台,应用HBase文件存储系统对海量数据分布式存储以及Map Reduce框架进行分布式计算,实现Apriori经典数据挖掘算法。...

    基于Hadoop的海量广告日志分析系统的设计与实现.docx

    《基于Hadoop的海量广告日志分析系统》是一个旨在解决传统系统在处理海量数据时性能低下的问题的创新性工具。通过利用Hadoop平台的分布式存储和计算能力,该系统能够高效处理和分析海量广告日志数据,实现广告点击量...

    大数据分析及处理方法.docx

    该过程的特点和挑战主要是用于挖掘的算法很冗杂,并且计算涉及的`数据量和计算量都很大,还有,常用数据挖掘算法都以单线程为主。 大数据分析的五个基本方面 1. Analytic Visualizations(可视化分析) 不管是对数据...

    论文研究-同构Hadoop集群环境下改进的延迟调度算法.pdf

    延迟调度算法的产生旨在解决本地化问题, 此算法根据任务待处理数据的物理位置作为作业的计算节点, 调度任务至目标节点。但是可能出现同一作业中若干任务集中运行在某一计算节点, 导致作业达不到理想的并行效果。针对...

    大数据离线计算的架构与组件.pdf

    (3)当数据量增⼤的时候,性能会成为瓶颈,传统关系型数据库在TB级别时已经表现得吃⼒,在PB级别时基本⽆能为⼒。 (4)数据库的设计⼀般会遵循某种范式,其着⼒于解决数据冗余和⼀致性问题。但数据仓库设计时为了...

    大数据产业链架构及业务解析共16页.pptx

    大数据产业链架构是指从数据产生到数据应用的整个过程,包括数据采集、数据存储、数据处理、数据检索和汇聚、统计分析、数据挖掘、模型预测、结果呈现等步骤。该架构可以分为五层,即数据产生与聚集层、组织与管理层...

    什么是大数据开发?大数据开发要学什么?一个Java转行过程和经历.pdf

    从⼯作内容上来说,⼤数据开发主要是负责⼤数据挖掘,⼤数据 清洗处理,⼤数据建模等⼯作,主要是负责⼤规模数据的处理和应⽤,⼯作主要以开发为主,与⼤数据可视化分析⼯程师相互配合,从数据 中挖掘出价值,为企业...

    SAS 8.2 Enterprise Miner数据挖掘实例

    其核心功能包括数据处理、数据挖掘、模型评估和部署。在数据挖掘过程中,SAS 8.2 Enterprise Miner提供了多种算法和技术,例如决策树、随机森林、神经网络、关联规则等,以帮助用户发现隐藏在数据中的模式和关系。 ...

    大数据与健康生活.docx

    存储方面,因为所面对的数据量是无限大的,所以就需要用分布式存储的方式将大量不同的数据存放于不同的磁盘阵列中。在这里可以采用MySQL数据库,利用分布式存储技术,将一张很大的表中的记录拆分到不同的节点上去...

    大数据的四大特点.pdf

    ⼤量 ⼤数据的特征⾸先就体现为"⼤",从先Map3时代,⼀个⼩⼩的MB级别的Map3就可以满⾜很多⼈的需求,然⽽随着时间的推移,存 储单位从过去的GB到TB,乃⾄现在的PB、EB级别。只有数据体量达到了PB级别以上,才能被...

    基于大数据的智慧停车管理系统建设方案.pptx

    大数据处理技术:利用Hadoop、Spark等大数据处理框架,对海量数据进行处理和分析。 云计算技术:利用云计算平台,实现数据存储和应用的弹性扩展。 移动应用开发技术:利用Android和iOS平台开发手机APP,提供便捷的...

Global site tag (gtag.js) - Google Analytics