`

hadoop作业的优化常用手段

阅读更多
在mapreduce应用机制全部完成后,常面临一个常见问题“作业运行太慢”,此时我们需要通过一下几个方面进行调优,一边提升作业运行速度

(1)通过jobtracker的web界面可以查看到本次作业使用的mapper数量,查看每个mapper的平均运行时间,如果mapper运行时间过短(如每个mapper运行10多秒),此时苗明mapper没有得到良好的利用,我们需要减少mapper的数量,使每个maper运行更长的时间。mapper的运行时间取决于mapper输入数据的格式,因此我们可以调整mapper的输入格式。

(2)通过Jobtracker的web界面查看本次作业的reducer数量,集群中的reducer数量应该略小于reducer的任务槽数,使reducer能够在同一个周期完成任务,避免因动态管理产生一个reducer处理俩个任务的情况。

(3)combiner使用是否合理,充分利用combiner可以减少shuffle传输的数据量,网络传输减少了,作业运行速度自然就快了,但combiner要谨慎使用,视情况而定,取平均值得作业尽量不要使用combiner了,会产生较大偏差。

(4)与3类似,还有一种减少网络传输的方式,对map的输出进行压缩,压缩后的数据量减小,同样减轻了网络传输的压力

(5)为了作业排序更合理,可以自定义序列,自定义comparator,但需要注意的是必须确保已实现RawComparator

(6)最后可以调整shuffle,可以调整一些内存管理的参数,以弥补性能的不足

写的比较粗糙,有时间将其中一些细节会补齐。
2
1
分享到:
评论

相关推荐

    基于Hadoop的分布式索引构建

    此外,优化Hadoop作业执行计划,例如分区、排序和压缩等策略,也是提升性能的重要手段。 在提到的淘宝商品搜索索引构建的案例中,面对数亿商品的海量数据,单机建索引的方式存在明显的缺点,例如索引构建时间长、...

    hadoop权威指南第三版完整版

    - **数据本地性**:Hadoop作业调度时优先选择与数据节点距离较近的任务执行器,可以减少网络传输延迟。 - **压缩技术**:合理使用数据压缩技术可以在一定程度上降低I/O开销,提高数据处理速度。 - **资源管理**:...

    Hadoop学习必看路线图2.pdf

    - **Linux安装及基本操作**:这是Hadoop学习的基础,包括Linux系统的安装、常用的命令行操作(如文件管理、进程管理等)。熟悉Linux环境对于后续的学习至关重要。 - **Python编程基础**:虽然Hadoop的主要编程语言是...

    Hadoop集群管理

    3. **性能优化**:通过调整参数设置等手段提高集群的整体性能。 4. **数据备份与恢复**:定期备份重要数据,并具备快速恢复的能力。 常用的集群管理工具有: - **Hadoop自带的管理工具**:如`hdfs dfsadmin`命令...

    基于Hadoop平台的多维度学生学业预警系统的研究.docx

    特别是在当前数字化转型的大背景下,越来越多的学校开始重视利用科技手段改进教学质量和管理效率。 2. **主要目标**:提高教学效果、优化学习环境、促进个性化教育的发展。通过提供精准的学业预警服务,帮助学校和...

    Hive_优化——深入浅出学Hive

    **Hive 优化常用手段** 1. **解决数据倾斜**:数据倾斜是因为数据分布不均导致的,它会使得某些节点处理的数据量过大,降低系统效率。可以通过预处理数据、使用哈希分区等方式平衡数据分布。 2. **减少 Job 数**:...

    Hive_QL详解1

    **第二部分:优化的常用手段** 1. **解决数据倾斜**:了解数据分布并手动调整,如重新分区,以平衡数据负载。 2. **减少Job数**:通过合理的设计查询避免过多的Job产生。 3. **设置合适的Task数量**:适当调整Map和...

    hive的学习资料

    包括 Hadoop 计算框架的特性、常用优化手段、全排序、笛卡尔积、EXIST 子句、决定 reducer 个数、合并 MapReduce 操作、Bucket 与 Sampling、Partition 和 JOIN 的优化、处理小文件和 GroupBy 的优化。 7. Hive ...

    Hive性能优化

    本文来自于cnblogs,赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍:继续《那些年使用Hive踩过的坑》一文中的剩余部分.首先,我们来看看Hadoop的计算框架特性,在此...

    大数据方向面试题大全.pdf

    9. Hive优化策略:可以通过增加分区、设置合适的执行器配置、使用压缩存储等手段对Hive查询进行优化。 10. 分析函数:Hive支持丰富的分析函数,用于执行复杂的分析查询。 Spark面试题: 1. Spark的Shuffle原理及...

    基于铁路货运大数据的运输效率分析研究.pdf

    Java编程语言作为大数据处理中的常用工具,用于编写处理逻辑,而Sqoop则负责数据在Hadoop和传统数据库之间的迁移,确保数据的一致性。 通过这些技术手段,文章实现了以下几个关键功能: 1. 货运大数据的分析和存储...

    毕设&课程作业_数字广告牌广告智能推荐系统.zip

    在本项目中,我们关注的是一个名为"毕设&课程作业_数字广告牌广告智能推荐系统.zip"的压缩包文件,这显然是一项针对计算机科学学生的毕业设计或课程作业。该系统的核心是利用人工智能技术实现数字广告牌上的广告智能...

    Spark快速开发框架,提高开发效率,主要针对离线任务场景

    总结,Spark快速开发框架是提升大数据离线处理效率的有效工具,其丰富的组件、高效的编程模型和众多的性能优化手段,使其在现代数据仓库和分析应用中占据重要地位。通过熟练掌握Spark,开发者可以构建出强大的大数据...

    大数据技术中计算与数据的协作机制的研究.zip

    1. 分布式计算:Hadoop MapReduce是大数据处理中常用的分布式计算模型,它将大规模数据集分割为小块,通过Map阶段并行处理,然后在Reduce阶段整合结果。 2. 流式计算:Spark等实时计算框架,适用于处理连续流入的...

    Spark实战高手之路.rar

    这些优化手段使得Spark在处理大数据时能保持高速运行。 学习Spark实战,还需要掌握如何使用Spark Shell进行交互式编程,如何编写Scala、Java、Python或R语言的Spark应用程序,以及如何使用SparkSubmit提交作业。...

    35套选择题目:大数据架构、高性能、数据治理题目.docx

    - **调优策略**:合理的集群调优策略包括优化作业并行度、减少预读功能以及减少shuffle算子的使用。题目中的错误选项指出减少预申请资源的功能不是有效的调优策略,实际上合理管理资源请求是优化集群性能的重要一环...

    ETL工具KETTLE实例手册

    合理设置线程池大小、优化数据流结构、利用缓存减少重复查询等,都是提升效率的有效手段。 #### 3.2 错误处理与日志记录 在ETL过程中,错误处理和日志记录至关重要。Kettle允许用户配置错误输出步骤,以便捕获和...

    大数据挖掘技术在在线教育平台中的应用浅析.pdf

    大数据挖掘技术是指利用各种先进的算法和技术手段,从大量的数据中提取有价值的信息和知识,发现数据之间的关联和模式。在在线教育平台中,大数据挖掘技术的应用可以帮助平台更好地理解用户需求、提升教学质量和学习...

    大数据风组合图-76成本数据分析图表模板1.zip

    大数据分析通常涉及的技术包括Hadoop、Spark、NoSQL数据库等,这些技术可以帮助处理海量数据,并从中提取有价值的信息。 2. **成本数据分析**:这是企业管理中的重要环节,通过对各项成本的分析,可以识别浪费、...

Global site tag (gtag.js) - Google Analytics