spark 中 宽依赖 和 窄依赖的 区别及优缺点

spark 中 宽依赖 和 窄依赖的 区别及优缺点
原创it_liangsir 最后发布于2018-06-29 17:58:02 阅读数 3315 收藏
展开
窄依赖与宽依赖的概述:

rdd 中的–宽依赖—父RDD每个分区的数据可能被多个子RDD分区使用 ,子RDD分区通常对应所有的父RDD分区,这其中分为两种情况:1,一个父RDD的分区对应所有的子RDD的分区(没有core-patitioned过的join)2,一个父RDD分区对应非全部的的多个RDD分区(groupByKey)

rdd中的–窄依赖—父RDD每个分区的只被子RDD的一个分区使用,子RDD 通常对应常数个父RDD分区,这其中分为两种情况:1,一个子RDD分区对应一个父RDD分区(filter,map)2,一个子RDD分区对应多个父RDD分区(co-partitioned过的join)

窄依赖与宽依赖的优缺点:

宽依赖----有shuffle----要跨网络拉去数据-----耗资源,窄依赖----一个节点内完成转化-----快速

当子RDD 需要重算时,宽依赖 会重算所有父RDD分区的数据,这样会出现多余的重算,窄依赖只需计算对应的一个父RDD的数据即可

窄依赖:filter map flatmap mapPartitions

宽依赖:reduceByKey grupByKey combineByKey,sortByKey, join(no copartition)
————————————————
版权声明:本文为CSDN博主「it_liangsir」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21918145/article/details/80859177

### Hadoop **Hadoop** 是一套开源框架,主要用于分布式存储和处理大量数据集。它由两个核心组件组成:HDFS(Hadoop Distributed File System)和MapReduce。 #### **优点** 1. **高容错性**:设计时考虑了系统的可靠性和容错性,能够自动检测并恢复节点故障,保证数据的持久性和服务的连续性。 2. **大数据处理能力**:适合处理PB级别的数据,提供强大的数据存储和计算能力。 3. **成本效益**:利用廉价的硬件构建大规模集群,降低了数据处理的成本。 4. **跨平台兼容性**:支持多种操作系统,易于部署和维护。 5. **生态系统丰富**:有丰富的工具和库,如Hive、Pig、HBase等,可以用于数据分析、SQL查询、实时数据处理等多种应用场景。 6. **社区活跃**:拥有庞大的开发者和使用者群体,技术支持和资源丰富。 #### **缺点** 1. **性能效率低**:相比其他现代大数据技术(如Spark),Hadoop的MapReduce模型在某些特定场景下执行速度较慢。 2. **复杂性**:学习曲线陡峭,配置和管理较为复杂,尤其是对于新手用户来说。 3. **内存利用率低**:传统MapReduce操作需要将整个任务加载到内存,对大内存需求较高,并可能导致数据溢出到磁盘,影响效率。 4. **单点故障**:虽然整体有高容错性设计,但在某些特定的系统组件上可能存在单点故障问题,需要额外的监控和管理措施。 ### Spark **Spark** 是另一种高性能的大数据处理引擎,适用于多种应用场景,包括批处理、交互式查询、流处理、机器学习等。 #### **优点** 1. **速度快**:采用内存计算模式,数据在内存迭代处理,相比于Hadoop MapReduce通常能更快地完成任务。 2. **易用性**:提供统一的API和编程模型,使得从简单的工作负载到复杂的机器学习应用都能轻松处理。 3. **动态调度**:Spark的动态调度算法可以根据实际运行情况优化任务执行路径,提高效率。 4. **集成能力强**:可以方便地整合各种数据源和服务,比如支持直接读取HDFS文件、MongoDB等数据库的数据。 5. **广泛支持**:支持Python、Scala、Java和R等多种语言环境。 6. **社区和生态发展迅速**:Spark有一个活跃的开发者社区,提供大量的案例研究和教程。 #### **缺点** 1. **内存依赖**:Spark基于内存计算,对内存的需求比Hadoop更高,在大型数据集或高并发环境下可能会遇到内存限制。 2. **配置复杂**:虽然相较于Hadoop有所简化,但Spark仍然存在一些配置选项,对于初学者来说可能不够友好。 3. **数据泄露风险**:由于Spark在内存频繁操作数据,如果安全策略不当,可能会增加数据泄露的风险。 4. **不适合某些工作负载**:对于只关心结果而不在乎过程效率的工作负载,Hadoop可能是一个更合适的选择。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值