李翔-大数据技术

Big data technology!

第1章 大数据概述

#大数据概述

一、前言

怎么学习这门课?多练习!!!!!!!!!!!!!!!!!

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万亿 “新基建”投资计划

image-20220901150547620


3 、下一个风口

       大数据与人工智能的融合: 2024年,中国政府在全国人大会议上提出了“AI Plus”政策,这一新举措旨在通过人工智能平台推动传统产业的升级,类似于2015年的“互联网+”计划。这一政策的目标是利用大数据和AI技术提升包括医疗、教育和制造业在内的多个领域的数字化水平 (Gov.cn) (NBR)。


4 、人才紧缺、竞争压力小

       有句话叫:“ 选择大于努力 ”选择一个好的方向,少奋斗十年。国家在2017 年才开设大数据课程,当时是北京大学、人民大学 等 25 所高校开设第一批大数据课程。目前,大数据专业的毕业生市场上较少,而像 Java 、前端大学已经开设10多年,可想而知目前市场上,Java和前端的人才有多少。


三、Hadoop生态体系

3.1:hadoop基础介绍

Hadoop 是分布式系统基础框架,主要解决海量数据的存储和海量数据的分析计算问题。

  • Hadoop在电商行业中的应用:

  1. 背景与挑战:

    • 一家大型的电商平台(如阿里巴巴或京东)每天有数百万用户在其网站上进行浏览和购买活动。

    • 用户行为数据(包括浏览商品、搜索关键词、购买历史等)数量庞大且复杂。

    • 最初,平台使用传统的数据库系统和集中式计算来处理这些数据。

    • 随着用户数量和数据量的迅速增长,传统方法的处理速度变慢,导致实时商品推荐和用户体验受到影响。

  2. 问题解决方案:

    • 为了应对海量数据带来的挑战,电商平台采用了Hadoop框架来管理和分析数据。

    • 分布式存储(HDFS):

    • 并行计算(MapReduce):

    • 通过Hadoop的HDFS,平台将用户行为数据分布式存储在多台服务器上,分散数据存储以提高访问效率。

    • 利用MapReduce框架并行处理大量用户行为数据,快速生成个性化的商品推荐。

    • 引入Hadoop:

  3. 结果与优势:

    • 提升处理速度: 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是一个分布式文件系统,旨在解决海量数据存储的问题。其架构包括三个主要组件:

  1. NameNodefont>(主节点)

    • 存储文件的元数据(描述真实数据的文件信息)。

    • 包含文件名、目录结构、文件属性(如生成时间、副本数、权限),以及每个文件的块数据在不同DataNode上的分布信息。

  2. DataNode(数据节点)

    • 管理真实的数据,负责在HDFS中存储数据块。

    • 将数据切分成块,分别存储在不同的节点上,以实现数据冗余和安全性,并进行数据校验。

  3. 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框架中的资源管理器,负责集群资源的调度和管理。

主要功能:

  1. 资源管理与调度

    • 动态分配计算资源(如CPU和内存)和存储资源(如HDFS数据块),确保作业在集群中有效执行。

    • 支持多种调度策略(如容量调度和公平调度)。

  2. 架构组件

    • ResourceManager(资源管理器):主控节点,负责资源调度、监控节点资源使用。

    • NodeManager(节点管理器):工作节点上的代理,负责管理节点资源和监控应用程序。

    • ApplicationMaster(应用程序主控):每个应用程序的负责者,协调资源请求和任务执行。

  3. 作业提交流程

    • 客户端提交作业,ResourceManager处理资源请求并分配给NodeManager。

    • ApplicationMaster启动并监控任务的执行。

  4. 高可用性与多租户支持

    • 支持高可用性,可以在主节点故障时继续运行。

    • 支持多个用户和应用程序并行运行,确保资源分配公平。

YARN在客户端提交作业后进行资源的调度。

 

四、大数据Hadoop生态圈-组件介绍

Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。

Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:

image-20220901151605570


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

image-20220901151822356


六、算法

算法是一组明确定义的步骤或规则,用于解决特定问题或执行特定任务,可以视为计算机程序的指导书。

可以这样理解:算法是一种计算过程,它解决各种问题,例如排序、搜索、过滤和分类。就像食谱指导我们如何制作美食一样,算法告诉计算机如何执行特定的任务。当我们遵循食谱时,会依照特定的步骤和顺序操作,以获得最终的结果。同样,计算机执行算法时,遵循一系列步骤,以完成任务。因此,算法代表了一种程序设计的思想和方法,而不仅仅是代码本身。

示例:

  1. 导航算法: 当你使用地图或导航应用找到从一个地方到另一个地方的路线时,你实际上在使用一种算法。这个算法考虑了道路、距离、交通状况等因素,并提供明确的步骤,帮助你成功到达目的地。就像食谱提供制作菜肴的方法一样,导航算法引导你的移动。

  2. 搜索算法: 当你使用搜索引擎查找信息时,实际上是在利用搜索算法。这个算法分析数以亿计的网页,确定哪些网页与查询最相关,并按照相关性排序结果。它会考虑关键字、链接数量和网页质量等因素,以帮助你找到最相关的信息。这是一个实际生活中的算法示例,帮助你高效地进行信息检索。


七、机器学习

机器学习是一种方法或技术,旨在使计算机能够从数据中学习模式、规律或特征,并根据学习到的知识做出预测或决策。

机器学习就像是教计算机如何做事情的方法。与传统编程不同,在传统编程中,你需要明确地告诉计算机每个步骤;而在机器学习中,你只需提供数据和一些基本规则,让计算机自行学习如何完成任务。

例子

假设你想教计算机识别猫和狗的图片。在传统编程中,你可能需要编写复杂的规则,比如“如果图片中有长尾巴和大耳朵,那就可能是狗”。但是在机器学习中,你只需提供大量标记好的猫和狗的图片,并告诉计算机:“根据这些图片,自行找出猫和狗的不同之处。”

机器学习算法会分析这些图片,自动提取特征。例如,它可能会学到猫通常有尖耳朵和细身体,而狗可能有圆脸和较大的鼻子。随后,当你给计算机一张新的图片时,它会基于之前学到的规律来判断这是一只猫还是狗。

应用领域

机器学习让计算机能够处理各种复杂的任务,包括但不限于:

  • 图像识别:用来识别和分类图像中的物体。

  • 语音识别:将语音转换为文本,例如智能助手的语音输入。

  • 自然语言处理:理解和生成人类语言,实现翻译、文本分析等功能。

  • 推荐系统:根据用户的行为和偏好,向其推荐商品、电影或音乐。


八、继续深造

本科专业:计算机科学与技术、数据科学与大数据技术、软件工程、网络工程、云计算、人工智能


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

版权:李翔
备案/许可证编号为:新ICP备2024006115号-1