一、前言
怎么学习这门课?多练习!!!!!!!!!!!!!!!!!
1.1 必备的基础知识:
计算机专业知识:
Java是Hadoop生态系统的基础
Python在数据分析和机器学习中非常流行
Scala则是用于编写Spark程序的语言
语言类:
JAVA、Python、SCALA前端:
HTML+CSS+JS数据库:
mysql(SQL语句的用法)计算机网络:
有一定了解操作系统:
LiNUX:Linux是大数据生态系统的主流操作系统。掌握Linux的基本命令和脚本编写能力,基础能力
英语:计算机专业英语(
java + python + web + mysql)数学:专升本 → 大数据专业 → 机器学习 → 算法 → 数学模型.......
交叉学科:计算机、网络、数学、统计学
1.2 学习难度:
环境的要求较高:硬件环境+软件环境+数据环境
学习成本:困难
一分钟,瞬息万变的互联网在一分钟内到底能够发生什么?会产生多少数据?
微信用户每一分钟发布46.52万张图片;每一分钟发起22.91万次视频通话;每一分钟会有54.16万人进入朋友圈。百度用户每一分钟进行416.6万次搜索。每分钟会有6.94万次语音播报。美团每一分钟会有3.06万单。淘宝每一分钟会有658.8万人民币销售额。天猫每分钟会有767.59万销售额。滴滴每一分钟2.84万单。B站每分钟会有83.3万次播放。京东每分钟会有496.57万销售额Fackbook在一分钟内分享了24万张照片Facebook一分钟获得收入21万美元。抖音海外版 TikTok 用户一分钟观看了 1.67 亿条视频亚马逊用户一分钟买了 28 万美元的商品。苹果用户一分钟发送了1200万 iMessage。苹果每一分钟获得收入84万美元谷歌用户一分钟进行了570万次搜索。Alphabet(Google)每一分钟获得收入43万美YouTube (油管)用户一分钟观看了 69.4 万个视频。
二、大数据的概念:
指无法在一定时间内使用常规软件工具进行捕捉、管理和处理的数据集合。需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的管理数据技术。
2.1 主要解决的问题:
海量数据的存储和海量数据的分析计算
海量的理解:TB PB EB 及以上 ZB YB BB NB DB等等
1Byte = 8bit 1KB = 1024Byte 1MB = 1024KB 1GB = 1024MB 1G = 1024MB 1TB = 1024GB 1PB = 1024TB 1EB = 1024PB
2.2 大数据的特点:(5v)
1、Volume(大量)
截至目前,人类生产的所有 印刷材料的数据量是 200PB ,而历史上全人类总共说过的话的数据量大约是 5EB 。当前,典型个人计算机硬盘的容量为 TB 量级,而一些大 企业的数据量已经接近 EB 量级。
2 、 Velocity (高速)这是大数据区分于传统数据挖掘的最显著特征。根据 IDC 的“数字宇宙”的报告, 预计到 2025 年,全球数据使用量将达到 163ZB 。在如此海量的数据面前,处理数据的效率就是企业的生命。
天猫双十一: 2017 年 3 分 01 秒,天猫交易额超过 100 亿2020 年 96 秒,天猫交易额超过 100 亿
3 、 Variety (多样)
这种类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的以数据库 / 文本为主的结构化数据 , 非结构化数据 越来越多,包括 网络日志、音频、视频、图片、地理位置信息 等,这些多类型的数据对数据的处理能力提出了更高要求。
4 、 Value (低价值密度)
价值密度的高低与数据总量的大小成反比。如何 快速对有价值数据“提纯”成为目前大数据背景下待解决的难题。
5、Veracity (真实性)
可信性,真伪性 来源 有效性 可审计性
2.3 大数据的应用场景
1 、抖音:推荐的都是你喜欢的视频【大数据通过用户行为分析实现个性化视频推荐,提升用户体验】
2 、电商站内广告推荐:给用户推荐喜欢的商品【大数据帮助精准定位用户兴趣,提升商品推荐的相关性和点击率。】
3 、零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量。
经典案例,纸尿布 + 啤酒。
调查发现:出来买尿不湿的家长以父亲居多,如果他们在买尿不湿的同时看到了啤酒,将有很大的概率购买,这样就可以提高啤酒的销售量。
形象地说明大数据分析给商业带来的无限商机
4 、物流仓储:京东物流,上午下单下午送达、下午下单次日上午送达。【大数据优化物流路径和仓储管理,实现高效的订单配送和库存管理。】
5 、保险:大数据通过风险预测和用户画像分析,助力保险行业实现精准营销和科学定价。
6 、金融:大数据利用多维度分析帮助金融机构识别优质客户并防范欺诈风险。
7 、房产:大数据助力房地产行业,打造精 准投策与营销,选出更合适的地,建造更合适的楼,卖给更合适的人
8 、人工智能 + 5G + 物联网 + 虚拟与现实
示例:智慧城市中的智能交通系统
在智慧城市中,大数据通过整合物联网(如交通传感器、智能摄像头)、5G网络(用于实时数据传输)和人工智能(用于数据分析和预测)技术,实时监测和分析城市交通流量、车辆运行状态和路况信息。通过这些数据,交通管理系统可以动态调整信号灯时间、提供智能导航、预测交通拥堵,并优化公共交通调度,从而实现更加智能化、个性化的交通管理体验。
示例:智能家居系统
在智能家居中,大数据通过整合物联网(如智能家电、传感器)、5G网络(实现设备间的快速连接与数据交换)和人工智能(进行用户行为分析和设备自动化控制)技术,能够学习用户的生活习惯,自动调整家中的温度、照明、安防等设备,同时通过虚拟现实技术提供沉浸式的智能家居体验,从而极大地提升居住舒适度和安全性。
2.4 大数据发展前景
1、党的十九大提出“ 推动互联网、大数据、人工智能和实体经济深度融合 ”。
2、2020年初, 中央推出 34万亿 “新基建”投资计划

3 、下一个风口
大数据与人工智能的融合: 2024年,中国政府在全国人大会议上提出了“AI Plus”政策,这一新举措旨在通过人工智能平台推动传统产业的升级,类似于2015年的“互联网+”计划。这一政策的目标是利用大数据和AI技术提升包括医疗、教育和制造业在内的多个领域的数字化水平 () ()。
4 、人才紧缺、竞争压力小
有句话叫:“ 选择大于努力 ”选择一个好的方向,少奋斗十年。国家在2017 年才开设大数据课程,当时是北京大学、人民大学 等 25 所高校开设第一批大数据课程。目前,大数据专业的毕业生市场上较少,而像 Java 、前端大学已经开设10多年,可想而知目前市场上,Java和前端的人才有多少。
三、Hadoop生态体系
3.1:hadoop基础介绍
Hadoop 是分布式系统基础框架,主要解决海量数据的存储和海量数据的分析计算问题。
Hadoop在电商行业中的应用:
背景与挑战:
一家大型的电商平台(如阿里巴巴或京东)每天有数百万用户在其网站上进行浏览和购买活动。
用户行为数据(包括浏览商品、搜索关键词、购买历史等)数量庞大且复杂。
最初,平台使用传统的数据库系统和集中式计算来处理这些数据。
随着用户数量和数据量的迅速增长,传统方法的处理速度变慢,导致实时商品推荐和用户体验受到影响。
问题解决方案:
为了应对海量数据带来的挑战,电商平台采用了Hadoop框架来管理和分析数据。
分布式存储(HDFS):
并行计算(MapReduce):
通过Hadoop的HDFS,平台将用户行为数据分布式存储在多台服务器上,分散数据存储以提高访问效率。
利用MapReduce框架并行处理大量用户行为数据,快速生成个性化的商品推荐。
引入Hadoop:
结果与优势:
提升处理速度: Hadoop显著加快了数据处理速度,解决了传统系统的瓶颈问题。
优化用户体验: 通过实时分析和推荐,平台能够在用户浏览页面时即时展示可能感兴趣的商品,从而提高了用户体验和转化率。
3.2:Hadoop的优势:(4高)
1.高可靠性:hadoop底层维护多副本数据,某个机器下线,也不会导致数据的丢失
2.高扩展性:扩展服务节点方便
3.高效性:hadoop工作是并行的,加快了处理的速度
4.高容错性:能够自动将失败的任务重新分配执行
3.3:Hadoop组成:
HDFS (Hadoop Distributed File System) - 分布式存储:
HDFS是Hadoop的核心组件之一,用于分布式存储海量数据。它将数据分块存储在集群中的多个节点上,提供高容错性和高吞吐量。
MapReduce - 分布式计算:
MapReduce是Hadoop的分布式计算框架,通过将任务分解成小块并在多个节点上并行处理来加速数据处理。这种方法适合大规模数据集的批处理操作。
YARN (Yet Another Resource Negotiator) - 资源调度:
YARN负责管理和调度集群资源,使多个作业可以共享集群资源并同时运行。YARN为Hadoop提供了更好的资源利用率和更高的可扩展性。
Common - 辅助工具:
Hadoop Common包含了Hadoop所需的一些常用工具和库,支持HDFS、MapReduce和YARN的操作,并提供了跨组件的基本功能。
3.4:HDFS
HDFS是一个分布式文件系统,旨在解决海量数据存储的问题。其架构包括三个主要组件:
NameNodefont>(主节点):
存储文件的元数据(描述真实数据的文件信息)。
包含文件名、目录结构、文件属性(如生成时间、副本数、权限),以及每个文件的块数据在不同DataNode上的分布信息。
DataNode(数据节点):
管理真实的数据,负责在HDFS中存储数据块。
将数据切分成块,分别存储在不同的节点上,以实现数据冗余和安全性,并进行数据校验。
Secondary NameNode:
定期备份NameNode的元数据,以便在NameNode出现故障时恢复数据。
注意:在高可用集群中,SecondaryNameNode并不使用,可能会导致数据丢失风险。
通过以上组件,HDFS提供了高效、安全且可扩展的海量数据存储解决方案。
3.5:MapReduce
分布式编程框架,主要用于海量数据分析计算
计算过程分为两个阶段:
Map(映射)阶段(MapTask):
输入数据:将输入数据分成多个片段(Splits),每个片段由一个Map任务处理。
业务处理:每个Map任务对输入数据进行处理,通常是将原始数据转换为键值对(key-value pairs)。例如,计算单词出现的次数,生成的结果为
(word, count)的形式。输出结果:Map任务的结果会被排序和分区,以便在Reduce阶段进行汇总。
Reduce(归约)阶段(ReduceTask):
输入数据:Reduce阶段接收来自Map阶段的中间输出结果(中间键值对)。
汇总处理:Reduce任务对相同键的值进行汇总和处理。比如,统计所有单词的总出现次数。
最终输出:Reduce阶段的结果通常写入到分布式文件系统(如HDFS)中,以便后续的分析或处理。
总结
MapReduce的优势在于:
可扩展性:可以在数千台机器上并行处理数据。
容错性:如果某个任务失败,系统会自动重新调度该任务。
3.6:YARN
YARN是Hadoop框架中的资源管理器,负责集群资源的调度和管理。
主要功能:
资源管理与调度:
动态分配计算资源(如CPU和内存)和存储资源(如HDFS数据块),确保作业在集群中有效执行。
支持多种调度策略(如容量调度和公平调度)。
架构组件:
ResourceManager(资源管理器):主控节点,负责资源调度、监控节点资源使用。
NodeManager(节点管理器):工作节点上的代理,负责管理节点资源和监控应用程序。
ApplicationMaster(应用程序主控):每个应用程序的负责者,协调资源请求和任务执行。
作业提交流程:
客户端提交作业,ResourceManager处理资源请求并分配给NodeManager。
ApplicationMaster启动并监控任务的执行。
高可用性与多租户支持:
支持高可用性,可以在主节点故障时继续运行。
支持多个用户和应用程序并行运行,确保资源分配公平。
YARN在客户端提交作业后进行资源的调度。
四、大数据Hadoop生态圈-组件介绍
Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。
Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:

五、大数据与云计算、物联网的关系

六、算法
算法是一组明确定义的步骤或规则,用于解决特定问题或执行特定任务,可以视为计算机程序的指导书。
可以这样理解:算法是一种计算过程,它解决各种问题,例如排序、搜索、过滤和分类。就像食谱指导我们如何制作美食一样,算法告诉计算机如何执行特定的任务。当我们遵循食谱时,会依照特定的步骤和顺序操作,以获得最终的结果。同样,计算机执行算法时,遵循一系列步骤,以完成任务。因此,算法代表了一种程序设计的思想和方法,而不仅仅是代码本身。
示例:
导航算法: 当你使用地图或导航应用找到从一个地方到另一个地方的路线时,你实际上在使用一种算法。这个算法考虑了道路、距离、交通状况等因素,并提供明确的步骤,帮助你成功到达目的地。就像食谱提供制作菜肴的方法一样,导航算法引导你的移动。
搜索算法: 当你使用搜索引擎查找信息时,实际上是在利用搜索算法。这个算法分析数以亿计的网页,确定哪些网页与查询最相关,并按照相关性排序结果。它会考虑关键字、链接数量和网页质量等因素,以帮助你找到最相关的信息。这是一个实际生活中的算法示例,帮助你高效地进行信息检索。
七、机器学习
机器学习是一种方法或技术,旨在使计算机能够从数据中学习模式、规律或特征,并根据学习到的知识做出预测或决策。
机器学习就像是教计算机如何做事情的方法。与传统编程不同,在传统编程中,你需要明确地告诉计算机每个步骤;而在机器学习中,你只需提供数据和一些基本规则,让计算机自行学习如何完成任务。
例子:
假设你想教计算机识别猫和狗的图片。在传统编程中,你可能需要编写复杂的规则,比如“如果图片中有长尾巴和大耳朵,那就可能是狗”。但是在机器学习中,你只需提供大量标记好的猫和狗的图片,并告诉计算机:“根据这些图片,自行找出猫和狗的不同之处。”
机器学习算法会分析这些图片,自动提取特征。例如,它可能会学到猫通常有尖耳朵和细身体,而狗可能有圆脸和较大的鼻子。随后,当你给计算机一张新的图片时,它会基于之前学到的规律来判断这是一只猫还是狗。
应用领域:
机器学习让计算机能够处理各种复杂的任务,包括但不限于:
图像识别:用来识别和分类图像中的物体。
语音识别:将语音转换为文本,例如智能助手的语音输入。
自然语言处理:理解和生成人类语言,实现翻译、文本分析等功能。
推荐系统:根据用户的行为和偏好,向其推荐商品、电影或音乐。