官方服务微信:dat818 购买与出租对接

大数据学习指南:从零基础到进阶,全面掌握95%以上知识点,包含大厂面经与实战项目

3万

主题

2

回帖

10万

积分

管理员

积分
107516
发表于 2025-1-10 19:25:26 | 显示全部楼层 |阅读模式
    既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,覆盖95%以上的大数据知识点,真正系统化!

    由于文件较多,这里仅截取部分目录。全套包括各大厂商访谈、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,未来会持续更新。

    需要这套系统资料的朋友可以点击这里获取。

    什么是大数据?

    随着科技的发展,我们在网上留下的数据越来越多,从网上购物、商品交易,到浏览网页、微信聊天、手机自动记录日常行程等。可以说,在当今的生活中,只要你还在这里,每时每刻都会产生数据,但是这些数据能称为大数据吗?不,这些都不能称为大数据,那么大数据到底是什么?

    我个人的理解是这样的。大数据可以被认为是数据的集合。我们可以从这些数据中推导出一个近似客观的规则。我们可以使用这个规则来预测生成数据的本体下次出现的概率。例如,如果用户经常在某个电影网站上观看成龙的电影,那么当用户下次访问该电影网站时,成龙的电影就会在推荐列表中排名靠前,因为我们通过用户的浏览数据发现了他非常喜欢成龙的电影,相信用户的兴趣短期内不会改变。这时候我们就会有疑问,用户的行为数据存储在哪里?如何利用这些数据来判断(计算)生成该数据的本体下次出现的概率。这就引出了大数据的两个核心概念:存储和计算

    大数据技术初步研究

    我们继续上面的分析,想知道这些数据具体能做什么,所以我们从数据本身开始。试想一下,如果要使用数据,是否需要先收集数据?如果采集数据传输过程中数据流量过大,还应该考虑对数据进行缓冲。如果收集到的数据不是那么迫切需要(货币化),我们可以考虑先离线存储。数据如果储存起来就没有价值了,所以我们还是要分析、计算、挖掘数据里的价值,但是数据最终的价值一定要实现,钱!钱!钱。 !,如何实现呢?当然是提供给业务方的,那么业务代码的编写者是谁呢,好像是我,Java。

    MMP,我搞了很久了,这是一个闭环,我又回到了老专业,有点迷茫?别慌,看图

    这张图简单分析了数据的实时/离线处理过程。乍一看,这个过程并不困难。不是只有五个进程吗?

    数据源可以多种多样,根据其结构可以分为三类:

    Flume通常用于数据收集,但考虑到数据流量太大,我们通常使用Kafka进行缓冲。

    数据采集​​必须从一端到数据,从另一端进行。我找到了一张官方图片,结构如下:

    端是数据的入口,Sink端是数据的出口。中间是数据清洗的管道。

    我们在上面的分析中提到,当数据量过大时,我们通常会对数据进行缓冲,以保证数据进出的适配。我们可以使用Kafka组件。 Kafka是一个非常优秀的数据队列和缓冲组件。

    既然是大数据,不是一台服务器就能解决的。必须是分布式存储HDFS。大数据刚出来的时候,很多人认为大数据=。由此可见它在当时的受欢迎程度。实时性,这是因为它还有数据存储和计算。框架的核心设计是:HDFS和. HDFS为海量数据提供存储,也为海量数据提供计算。

    除了本身的计算组件之外,还有一个专门从事数据内存计算的组件——Spark,它既可以提供离线计算,也可以提供在线计算。

    数据的应用更加广泛。我们可以将处理后的数据放入MySQL中,根据业务需求利用Java EE技术进行具体操作;举个简单的例子,我们可以将处理后的数据可视化(,D3),这也算是发挥了它的价值。

    以上只是粗略的介绍,并没有对每一步对应的技术进行详细的介绍。想要学好大数据,就必须规划清晰的学习路线并坚持下去。接下来我们就来说说如何学习大数据。该路线适合任何阶段的学习者。

    大数据技术路线

    大数据的技术路线还是很大的。在此,特别感谢尚硅谷韩顺平老师的技术路线,基本包括:入门->进阶->精通->成神。

    话不多说,我们先来看看整体的学习路线:

    总体路线及分支路线

   


    上面的思维导图包含了我们学习大数据路线所需要的全部知识。除了计算机基础和JAVA基础之外,你可能对其他技术体系有些困惑。不要恐慌。我们来一一分析:

    路线分店厨师丁杰牛计算机基础

    一般情况下,如果你想成为一名普通程序员,其实可以不学这部分内容,因为技术天花板很低。一旦达到一定程度,就会原地踏步、停滞不前。但如果你想在这个领域有所成就、大放异彩,就必须学习这些基础知识。这是为什么呢?想想看,在这个文科都可以用数据分析的时代,不培养点技能怎么能涉足呢。当然,这是次要的。主要是因为当我们把某个领域学习到一定阶段的时候,你的接触就会更加接近底层。例如:当你学习Java内存管理有关线程、进程和锁的知识点时,如果你不了解操作系统的知识,理解起来还是相当困难的。

    下面,我们介绍一下具体的学习基础知识。这里只列出书籍。大家可以根据自己的学习情况具体学习。

    JAVA基本路线

    要学习大数据,就必须学习JAVA。为什么这么说呢?我们都或多或少听说过学习大数据。很多同学甚至把它等同于大数据。可见,有必要学习,而且我们知道其他大数据处理技术的很多部分都是由Java语言组成的。要实现,所以学习的前提就是掌握Java语言。

    那么,Java我们应该学习哪些内容呢?别着急,贴心的西蒙·朗为你绘制了一张思维导图。

    JAVA EE核心路线

    作为一名大数据工程师,理论上来说,JAVA EE技术是没有必要的。为什么?想一想,JAVA EE开发是Java语言的一个应用领域,比如WEB程序的开发;大数据开发也是用Java语言。应用领域,例如开发海量数据处理程序。两者就像学中文一样,一个用来写笑话,一个用来写英文诗。两者没有任何关系。它们都依赖于语言(Java)。

    但问题来了。既然都是Java语言应用,为什么走大数据路线还需要学习JAVA EE呢?我的理由很简单。大数据处理后的数据是针对特定业务用途的。如果你连我都不懂。这有道理吗?除此之外,JAVA EE中有很多框架思想值得借鉴。因此,我认为在大数据路线上正确学习JAVA EE会有很好的效果。至于具体学习的程度,你可以自己掌控。 。

    生态系统学习路线

    学习大数据肯定是少不了的,可见状态很重要。不过,对于接触大数据时间较短或者没有接触过大数据的同学来说,如果你问他们我们应该学什么,分布式存储和计算肯定是可以说的,但这两个概念还是太笼统了,那么我们应该如何有控制地学习呢?别慌,让西蒙·朗慢慢解释。

    话不多说,让我们看一下生态系统的思维导图。

    天哪,内容太多了,快让我看晕了。不要混淆,虽然看起来很多,但是可以用一句话来概括:它是一个分布式计算开源框架,提供分布式系统子项目(HDFS),支持分布式计算软件架构。由于脑图中的内容较多,我们就介绍几个在home组中占据较高位置的组件。如果您对其他组件感兴趣,可以自行查看。

    Hive是一个基于Hive的数据仓库工具。它可以将结构化数据文件映射到数据库表中,通过类似SQL的语句快速实现简单的统计,无需开发专门的应用程序。非常适合数据仓库的统计分析。

    Hbase是一个高可靠、高性能、面向列、可扩展的分布式存储系统。利用Hbase技术,可以在廉价的PC上构建大规模的结构化存储集群。

    Sqoop 是一种用于在关系数据库之间传输数据的工具。它可以将数据从关系型数据库(MySQL等)导入到HDFS中,也可以将HDFS数据导入到关系型数据库中。类型数据库

    它是专为分布式应用程序设计的分布式开源协调服务。主要用于解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调和管理的难度,并提供高性能。分布式服务。

    它是一个基于 Web 的工具,支持集群的配置、管理和监控。

    Oozie 是一个工作流引擎服务器,用于管理和协调在平台(HDFS、Pig 等)上运行的任务。

    Hue是一个基于WEB的监控管理系统,实现对HDFS、YARN、HBase、Hive、Pig等的Web化操作和管理。

    ……

    这是首先介绍生态系统。对其他内容感兴趣的同学可以自行补充。

    Spark生态系统学习路线

    学习并进行一些调整后,就可以学习Spark了。这时候有同学可能会问,Spark和Spark有什么区别呢?为什么我们还需要学习Spark?关于 Spark,您需要了解什么?

    别慌,我们一一解决

   


    1.Spark和Spark有什么区别?

    简单理解,Spark是在基础上的改进。它是UC AMP实验室开源类的通用并行计算框架。 Spark基于map算法实现分布式计算,有其自身的优势;但不同的是,中间输出和结果可以存储在内存中,无需读写HDFS。因此,Spark可以更适合需要迭代映射算法的数据挖掘和机器学习算法。

    2.为什么要学习Spark?

    基于计算引擎,中间结果通常会输出到磁盘进行存储和容错。出于任务管道承担的考虑,当一些查询转化为任务时,往往会产生多个阶段,而这些串行阶段依赖于底层文件系统(如HDFS)来存储每个阶段的输出结果。

    Spark是一种替代方案,并且兼容HDFS和Hive,并且可以集成到生态系统中以弥补缺点。

    关于 Spark,您需要了解什么?

    首先我们需要学习的是Scala,因为Spark是用Scala编写的,所以我们需要仔细学习它,这对于我们分析源码有很大的帮助。这时候你又有疑问了,你不是已经学过Java了吗,为什么还要学Scala,你个骗子!

    别骂我,Scala 是基于 Java 写的。学Java不是还在忽悠你吗?

    第二个要学习的就是Spark的基础知识。首先打下坚实的基础,然后才能进入下一个阶段。学习完Spark之后,就可以开始学习更具挑战性的MLib

    它将分布式数据抽象为弹性分布式数据集(RDD),实现应用程序任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。

    它是Spark操作结构化数据的一个包。它允许我使用 SQL 语句查询数据。 Spark支持多种数据源,包括Hive表、JSON等内容。

    它是Spark提供的对实时数据进行流式计算的组件。

    MLlib 提供常用机器学习算法的实现库。

    Flink生态系统学习路线

    快2021年了,如果学习大数据不知道flink,那就有点过分了。现在各大厂商都在尝试使用flink,那么flink到底是什么?

    我们先看一下官方的定义:Flink是一个用于无界和有界数据流的有状态计算的框架和分布式处理引擎。

    既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,覆盖95%以上的大数据知识点,真正系统化!

    由于文件较多,这里仅截取部分目录。全套包括各大厂商访谈、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,未来会持续更新。

    需要这套系统资料的朋友可以点击这里获取。

    …(img--93)]

    [外部链接图片正在传输中...(img--93)]

    既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,覆盖95%以上的大数据知识点,真正系统化!

    由于文件较多,这里仅截取部分目录。全套包括各大厂商访谈、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,未来会持续更新。

    需要这套系统资料的朋友可以点击这里获取。
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-5-17 19:46 , Processed in 0.101799 second(s), 18 queries .