我嘞个spark骚缸啊,2024年最新2024年大数据开发工作或许更难找

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。

Hadoop 的核心是 HDFS 和 Mapreduce,HDFS 还包括 YARN。

1,HDFS(hadoop分布式文件系统)

是hadoop体系中数据存储管理的基础。他是一个高度容错的系统,能检测和应对硬件故障。

client:切分文件,访问HDFS,与namenode交互,获取文件位置信息,与DataNode交互,读取和写入数据。

namenode:master节点,在hadoop1.x中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户 端请求。

DataNode:slave节点,存储实际的数据,汇报存储信息给namenode。

secondary namenode:辅助namenode,分担其工作量:定期合并fsimage和fsedits,推送给namenode;紧急情况下和辅助恢复namenode,但其并非namenode的热备。

2,mapreduce(分布式计算框架)

mapreduce是一种计算模型,用于处理大数据量的计算。其中map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

jobtracker:master节点,只有一个,管理所有作业,任务/作业的监控,错误处理等,将任务分解成一系列任务,并分派给tasktracker。

tacktracker:slave节点,运行 map task和reducetask;并与jobtracker交互,汇报任务状态。

map task:解析每条数据记录,传递给用户编写的map()并执行,将输出结果写入到本地磁盘(如果为map—only作业,则直接写入HDFS)。

reduce task:从map 它深刻地执行结果中,远程读取输入数据,对数据进行排序,将数据分组传递给用户编写的reduce函数执行。

3, hive(基于hadoop的数据仓库)

由Facebook开源,最初用于解决海量结构化的日志数据统计问题。

hive定于了一种类似sql的查询语言(hql)将sql转化为mapreduce任务在hadoop上执行。

4,hbase(分布式列存数据库)

hbase是一个针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。和传统关系型数据库不同,hbase采用了bigtable的数据模型:增强了稀疏排序映射表(key/value)。其中,键由行关键字,列关键字和时间戳构成,hbase提供了对大规模数据的随机,实时读写访问,同时,hbase中保存的数据可以使用mapreduce来处理,它将数据存储和并行计算完美结合在一起。

5,zookeeper(分布式协作服务)

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

6,sqoop(数据同步工具)

sqoop是sql-to-hadoop的缩写,主要用于传统数据库和hadoop之间传输数据。

数据的导入和导出本质上是mapreduce程序,充分利用了MR的并行化和容错性。

7,pig(基于hadoop的数据流系统)

定义了一种数据流语言-pig latin,将脚本转换为mapreduce任务在hadoop上执行。

通常用于离线分析。

8,mahout(数据挖掘算法库)

mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。mahout现在已经包含了聚类,分类,推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法是,mahout还包含了数据的输入/输出工具,与其他存储系统(如数据库,mongoDB或Cassandra)集成等数据挖掘支持架构。

9,flume(日志收集工具)

cloudera开源的日志收集系统,具有分布式,高可靠,高容错,易于定制和扩展的特点。他将数据从产生,传输,处理并写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在flume中定制数据发送方,从而支持收集各种不同协议数据。

a1947d2e882f4c85b96ad3f82327a389.png

二、mapreduce概述

MapReduce是一个分布式运算程序的编程框架,其核心功能为把用户编写的业务逻辑代码自带默认组件整合成一个完整的分布式运算程序并发运行Hadoop集群

MapReduce是一种编程模型和处理框架,主要用于处理大规模数据集的并行计算。

MapReduce编程模型包括两个主要阶段:Map阶段和Reduce阶段。在Map阶段,输入数据集被划分成若干个小数据块,每个小数据块由一个Map任务处理,Map任务将输入数据进行映射,并生成中间键值对。这些中间键值对按照键进行排序,并传递给Reduce任务。

在Reduce阶段,Reduce任务从Map阶段输出的中间数据中获取与特定键关联的所有值,然后对这些值进行汇总处理。最终,Reduce任务输出最终的结果数据。

MapReduce框架负责管理整个计算过程,包括任务的调度、错误处理、数据传输等。通过MapReduce,用户可以在分布式计算集群上高效地执行大规模数据处理任务,实现横向扩展和并行化处理,从而提高计算速度和效率。

三、spark技术特点和概述

Spark是一种快速、通用的分布式计算引擎,具有以下技术特点和概述:

  1. 快速性能:Spark使用内存计算和弹性分布式数据集(RDD)模型,在内存中执行计算,并通过高度优化的调度器实现高速数据处理。这种机制使得Spark比传统的基于磁盘的批处理框架更加快速,适用于迭代式算法和交互式数据分析等工作负载。

  2. 多语言支持:Spark提供对多种编程语言的支持,包括Scala、Java、Python和R等。这使得开发人员可以使用自己喜欢的语言进行Spark应用程序的开发,提高了开发的灵活性和效率。

  3. 分布式数据集(RDD):RDD是Spark的核心抽象,代表着分布式计算过程中的弹性、可分区、可并行操作的数据集合。RDD可以容错地在集群中的多个节点上进行并行处理,提供了丰富的数据转换和操作操作,如map、filter、reduce等。RDD还支持用户自定义的持久化策略,允许数据被缓存在内存中,进一步提高计算性能。

  4. 扩展性和集成性:Spark具有良好的可扩展性,可以轻松地运行在大规模的分布式集群上。此外,Spark还提供了与其他常用数据存储和处理系统(如Hadoop、Hive、HBase等)的集成接口,方便用户在现有基础设施上构建和扩展Spark应用程序。

  5. 流数据处理支持:除了批处理,Spark还提供了对流式处理的支持,称为Spark Streaming。Spark Streaming可以以微批处理的形式处理实时数据流,使得用户能够对连续数据流进行高效的实时计算和分析。

综上所述,Spark通过其快速性能、多语言支持、弹性分布式数据集(RDD)、可扩展性和与其他系统的集成性等特点,成为了大规模数据处理和分析的流行选择,在各个领域都有广泛的应用。

四、mapreduce和spark的区别

spark处理数据是基于内存的,而MapReduce是基于磁盘处理数据的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

加V获取:vip204888 (备注大数据)**
[外链图片转存中…(img-1dWsFRGr-1713404887107)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值