【大数据】大数据概论与Hadoop

news2024/11/26 0:34:59

目录

1.大数据概述

1.1.大数据的概念

1.2.大数据的应用场景

1.3.大数据的关键技术

1.4.大数据的计算模式

1.5.大数据和云计算的关系

1.6.物联网

2.Hadoop

2.1.核心架构

2.2.版本演进

2.3.生态圈的全量结构


1.大数据概述

1.1.大数据的概念

大数据即字面意思,大量数据。那么这个数据量大到多少才算大数据喃?通常,当数据量达到TB乃至PB级别时,传统的关系型数据库在处理能力、存储效率或查询性能上可能会遇到瓶颈,这时考虑采用大数据技术是合理的。

当然可以通过分库分表等方式来让关系型数据库来强行抗住这个量级,所以数据量大外数据结构是不是够杂(结构化、半结构化、非结构化数据)也是要不要上大数据技术的重要考量点。

当然数据杂也可以通过关系型+非关系型数据库(如MySQL+MongoDB+ES)组合式的存储来分别存储,所以还要看要求对数据的使用上的诉求是什么?实时或近实时的分析处理(例如实时推荐系统、金融风控、物联网监控等),这些对数据的使用方式上需要对大量数据进行计算,而不再是关系型数据库中那种小批量的增删改查,这时候即使是用了组合式的存储来存放数据,要去各种存储上跑计算任务再汇总到一起,明显是很低效的,这时候上大数据技术就是十分合理的。

大数据场景中的数据往往具有4V的特点:

  • 大量化:数据量大。
  • 快速化:增长速度快。
  • 多样化:数据类型多样,结构化、非结构化都有。
  • 价值密度低:价值密度低,商业价值高。

1.2.大数据的应用场景

大数据的应用总结起来就是:决策、预测。

1.零售行业
个性化推荐:基于用户购物历史、浏览记录、社交媒体行为等数据,实现商品个性化推荐,提高转化率和用户满意度。
库存优化:通过分析销售数据、季节性趋势、供应链信息等,精准预测需求,减少库存积压,提升供应链效率。
价格策略:利用市场动态、竞品分析、消费者敏感度数据制定动态定价策略,提高竞争力和利润水平。
客户细分与营销:对客户数据进行聚类分析,识别不同消费群体特征,实施精细化营销策略。
2. 金融行业
风险评估与管理:运用大数据分析进行信用评分、欺诈检测、市场风险预测,提升信贷决策准确性,降低风险敞口。
交易监控与反洗钱:实时监测异常交易行为,运用机器学习算法识别潜在的洗钱活动,确保合规运营。
投资决策支持:结合宏观经济数据、公司财务报告、社交媒体情绪等多元数据源,辅助投资者进行量化投资分析和策略制定。
3. 教育行业
学生学习行为分析:通过分析在线学习平台数据,了解学生学习进度、难点、偏好,提供个性化教学建议和资源推荐。
教育资源优化:依据课程访问量、完成率、互动数据等,评估教学效果,优化课程设计与资源配置。
教育政策制定:利用大数据研究教育公平、教学质量、就业趋势等问题,为教育政策制定提供数据支持。
4. 医疗行业
疾病预测与预防:通过对电子病历、基因组数据、生活方式数据的分析,预测疾病风险,指导早期干预和预防措施。
精准医疗:基于个体基因、生理指标、环境因素等大数据,制定个性化治疗方案,提高疗效和患者生活质量。
医疗资源管理:利用大数据预测医疗需求,优化医院床位、设备、人力资源分配,提升医疗服务效率。
5. 市场营销与客户关系管理
市场趋势分析:通过分析社交媒体、搜索引擎、行业报告等数据,洞察市场动态、消费者偏好变化,指导产品开发和市场定位。
精准广告投放:基于用户画像、行为数据、地理位置等信息,实现广告的定向投放和效果优化。
客户满意度与忠诚度提升:利用客户反馈、社交媒体舆情、购买行为数据,识别影响满意度的关键因素,制定针对性的改进策略。
6. 其他行业与通用场景
智慧城市:集成交通、能源、环境、公共服务等多源数据,实现城市运行状态监测、资源调度优化、应急响应管理等。
工业制造:通过设备数据、生产流程数据的实时分析,实现预测性维护、质量控制、产能优化等智能制造应用。
社交媒体分析:挖掘用户社交网络行为、情感倾向、话题热度等数据,为企业品牌管理、舆情监控、产品推广提供决策支持。

1.3.大数据的关键技术

大数据技术,其实就是一套解决方案,是基于各种现实的业务场景的成功的解决方案的总结。

大数据技术可以看作对传统技术的延申,是由于大数据的量传统技术不是很好应付了才出现了大数据的解决方案。传统的单点扛不住,扩集群,集群也扛不住就可以考虑大数据,或者即使集群扛得住,但是数据类型太杂了需要也可以考虑大数据。所以大数据和传统技术只是AB两套方案罢了。

大数据的整个流程:

数据采集->数据存储与管理->数据处理与分析

其中最为核心的是:数据存储和数据分析,也就是:

  1. 数据的存储

  2. 数据的运算

1.数据存储

其实就是当数据量很小的时候,存在单台机器上,当单台机器扛不住的时候存在多台机器上。存在多台机器上就需要进行统一的管理,对外给出统一的API让操作者去操作整个集群中的数据,让操作者体感愉悦,感知上觉得面对的就是一台存储容量无限大的单点服务器。

统一的管理、统一的操作API,这两点合在一起,像不像个系统?是的,这就是大数据中的存储系统,分布式文件系统——HDFS。

2.数据的运算

花这么大代价用HDFS存储起来的数据肯定不是拿来看的,而是要用起来的,是要用于计算的。在大数据系统中由于其存储采用了分布式的架构,计算任务不再是单点的,而是分布式的,是要分发到集群中的各个存储节点上去的,由各个结点计算后汇总出最终的结果。很明显这种多节点间的协作计算是需要进行任务调度的,这就是分布式计算引擎需要干的活儿,经典的分布式计算引擎是HDFS中内置的——MapReduce。其主要就是负责计算任务的调度。

除此之外还有一个目前市面上常用的强力的计算引擎——spark。mapreduce是基于磁盘的计算,spark是基于内存的计算,两者之间互有优劣。

扩展功能

有HDFS+MapReduce其实大数据系统就已经可以工作了,但是每次对数据进行查询都要写mapreduce任务,作为一个分布式的处理程序,mapreduce的任务写起来还是要求一些专业的计算机背景的。为了能像SQL一样,方便的查询HDFS中的数据,从而将使用者从繁琐的mapreduce的编写中解放,出现了hive之类的分布式系统的结构化数据解决方案。

1.4.大数据的计算模式

计算模式,即大数据的数据的运算是什么类型的?根据不同的需求计算可以分为三种模式:

  • 批处理

  • 流计算

  • 图计算

  • 交互式计算

批处理:

批处理即数据准备好一批算一批,任务是在已经准备好的一批数据上进行计算的,并不是实时计算的,也无法达到秒级响应的。

代表技术:mapreduce、spark

流计算:

流计算即实时计算,数据过来就算,针对的就是每时每刻来的数据量大,需要给出实时响应的场景。

代表技术:storm、flume

图计算:

针对数据结构都是图结构的数据进行计算,如社交网络数据、地理信息数据。

交互式计算:

前面的几种计算都是预先准备好了计算任务,交互式计算的计算任务是随时自定义的,随时发命令给系统,系统针对命令给出计算响应。

1.5.大数据和云计算的关系

云计算即通过网络以服务的方式为用户提供非常廉价的IT资源。用户不用去自建设施,直接找云计算厂商购买服务即可。

云计算所能提供的服务分为三层:

  • SaaS,基础设施即服务,即将基础设施作为服务出租(计算资源和存储)。主要是面向用户的。

  • PaaS,平台即服务,在基础设施上包了一层,即将开发平台作为服务出租,用户只负责开发,剩下的部署、监控等一系列功能都交给平台去做。主要是面向开发者的。

  • IaaS,软件即服务,这个很好理解,就是直接提供运算的软件来用了。比如传统的金蝶财务软件是部署在本地的,放在云上提供服务后就变成了典型的IaaS。

经常听到“数据中心”就是厂商建立的物理服务器集群,专门用来提供云计算服务。

1.6.物联网

物联网无非就是采集终端采集数据然后通过网络上传到数据中心。其核心的问题在于:

  • 识别

  • 感知

识别,即识别哪些数据是哪个设备的。

感知,即数据采集。

2.Hadoop

2.1.核心架构

apache旗下顶级开源项目,是一个大数据生态圈,由多个组件组成。

Hadoop两大核心组件:

  • 分布式文件系统HDFS,其实就是GFS的开源实现。

  • 分布式计算引擎MapReduce。

整个生态圈的核心架构:

备注:MR就是map reduce

2.2.版本演进

首先要注意Hadoop有多个分支。apache相当于其中的主分支,很多大公司还有属于自己版本的hadoop,apache的Hadoop分为两个版本:

1.0和2.0的区别:

1.0的时候mapreduce纪要做计算工作还要自己去调度各个节点的资源来为计算工作服务。

2.0的时候将资源调度功能抽成了一个独立的框架yarn,mapreduce只负责计算工作。由于yarn来进行了资源调度,在其之上就可以接入很多不同的计算框架,将资源调度都给yarn,于是2.0版本开始衍生出了很多其它计算框架,如storm、spark等。

其次2.0的时候对HDFS,使用namenode的方式在高可用性上进行了增强。

疑问:yarn做了哪些调度?为什么要做调度?

2.3.生态圈的全量结构

整个hadoop项目,或者说生态圈的全量结构如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1578742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图

文章目录 前言一、实现步骤1. 获取所需特征点的索引2. 使用opencv.js 计算俯仰角、水平角和翻滚角cv.solvePnP介绍cv.solvePnP原理运行代码查看效果 3.绘制姿态示意直线添加canvas元素计算姿态直线坐标并绘制 总结 前言 在计算机视觉领域,估算脸部姿态是一项具有挑…

基于大数据的汽车信息可视化分析预测与推荐系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本项目通过集成网络爬虫技术,实时获取海量汽车数据;运用先进的ARIMA时序建模算法对数据进行深度挖掘和分析;结合flask web系统和echarts可视化工具,…

vue做游戏vue游戏引擎vue小游戏开发

Vue.js 是一个构建用户界面的渐进式JavaScript框架,它同样可以用于游戏开发。使用 Vue 开发游戏通常涉及以下几个关键步骤和概念: 1. 了解 Vue 的核心概念 1 在开始使用 Vue 进行游戏开发之前,你需要理解 Vue 的一些核心概念,如…

Python可视化之seaborn

文章目录 seaborn介绍1.解决坐标轴刻度负号乱码2. 解决中文乱码问题3. 忽略警告4.风格选择5.自定义坐标轴6.自定义绘图元素比例7.一元分布图8.二元分布图9.多元矩阵图10.其他常见图形散点图线图柱状图计数图 seaborn介绍 seaborn是在matplotlib基础上开发的一套API&#xff0c…

网络驱动器设备:ISCSI服务器

文章目录 使用ISCSI服务部署网络存储ISCSI技术介绍创建RAID磁盘整列配置ISCSI服务端配置Windows端配置Linux客户端iSCSI服务器CHAP单向认证配置Linux端具体步骤Windows端具体步骤 使用ISCSI服务部署网络存储 主机名IPISCSI服务端192.168.200.10ISCSI客户端192.168.200.20Windo…

Ubuntu22.04修改默认窗口系统为X11

Ubuntu22.04安装默认窗口系统为Wayland(通过设置->关于可以看到)。 一、用Ubuntu on Xorg会话登录 用户登录时,点“未列出”,输入用户名后,在登录界面底部的齿轮图标中,选择 "Ubuntu on Xorg&quo…

Stable Diffusion——SDXL Turbo让 AI 出图速度提高10倍

摘要 在本研究中,我们提出了一种名为对抗扩散蒸馏(ADD)的创新训练技术,它能够在1至4步的采样过程中,高效地对大规模基础图像扩散模型进行处理,同时保持图像的高质量。该方法巧妙地结合了分数蒸馏技术&…

用TensorBoard可视化PyTorch

一、TensorBoard与PyTorch配合使用的基本步骤 PyTorch可以直接与TensorBoard进行集成,因为TensorBoard是一个独立于TensorFlow之外的可视化工具。TensorBoard被设计为支持机器学习实验的可视化,如训练的进度和结果等。PyTorch中的torch.utils.tensorboa…

【数据结构】考研真题攻克与重点知识点剖析 - 第 6 篇:图

前言 本文基础知识部分来自于b站:分享笔记的好人儿的思维导图与王道考研课程,感谢大佬的开源精神,习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析,本人技术…

智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流,视频画面1、4、9、16个可选,支持自定义视频轮播。EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标…

数据可视化-ECharts Html项目实战(10)

在之前的文章中,我们学习了如何在ECharts中编写雷达图,实现特殊效果的插入运用,函数的插入,以及多图表雷达图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错&…

甲方安全建设之研发安全-SCA

前言 大多数企业或多或少的会去采购第三方软件,或者研发同学在开发代码时,可能会去使用一些好用的软件包或者依赖包,但是如果这些包中存在恶意代码,又或者在安装包时不小心打错了字母安装了错误的软件包,则可能出现供…

shrine-攻防世界

题目 代码 import flask import os app flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) app.route(/) def index(): return open(__file__).read() app.route(/shrine/) def shrine(shrine): def safe_jinja(s): s s.replace((, ).replace(), ) …

算法之美:缓存数据淘汰算法分析及分解实现

在设计一个系统的时候,由于数据库的读取速度远小于内存的读取速度,那么为加快读取速度,需先将一部分数据加入到内存中(该动作称为缓存),但是内存容量又是有限的,当缓存的数据大于内存容量时&…

nodejs+python基于vue的羽毛球培训俱乐部管理系统django

语言:nodejs/php/python/java 框架:ssm/springboot/thinkphp/django/express 请解释Flask是什么以及他的主要用途 Flask是一个用Python编写的清凉web应用框架。它易于扩展且灵活,适用于小型的项目或者微服务,以及作为大型应用的一…

spring eureka 服务实例实现快速下线快速感知快速刷新配置解析

背景 默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了,但是服务调用方很长时间还是调用不到,发现不了这…

【Mysql高可用集群-双主双活-myql+keeplived】

Mysql高可用集群-双主双活-myqlkeeplived 一、介绍二、准备工作1.两台centos7 linux服务器2.mysql安装包3.keepalived安装包 三、安装mysql1.在128、129两台服务器根据《linux安装mysql服务-两种安装方式教程》按方式一安装好mysql应用。2.修改128服务器/etc/my.cnf配置文件&am…

第8章 数据集成和互操作

思维导图 8.1 引言 数据集成和互操作(DII)描述了数据在不同数据存储、应用程序和组织这三者内部和之间进行移动和整合的相关过程。数据集成是将数据整合成物理的或虚拟的一致格式。数据互操作是多个系统之间进行通信的能力。数据集成和互操作的解决方案提供了大多数组织所依赖的…

携程旅行 abtest

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章…

Java 基于微信小程序的助农扶贫小程序

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…