大数据概念+场景+HDFS工作机制(one day)

本文介绍大数据处理的基本概念和技术,包括分布式存储和运算。详细解释了Hadoop、Spark和Storm等框架的作用,以及它们如何帮助管理和分析海量数据。同时,还介绍了辅助工具如Hive和Flume的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念

---->数据处理

在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经无法胜任,需求催生技术,一套用来处理海量数据的软件工具应运而生,这就是大数据!

处理海量数据的核心技术:

        海量数据存储:分布式

真正的分布式存储:一个文件系统存储文件,这个系统看似有目录,有一个统一的路径,但是这个目录或路径和你本身机器的真实路径又是完全不相关的,你这个路径看起来像一个独立的文件系统,你把东西放进这个文件系统之后,其实你的文件是分散到了很多的机器上,只是用户不知道里面的细节,就像是有个一屏蔽包装的一个软件系统,你针对这个软件系统可以像操作普通文件系统一样操作它,去存读取,但是你操作的这些文件不是在某一台机器上,而是在很多机器上(集群中)

        海量数据运算:分布式

真正的分布式运算:比如一段程度,处理逻辑,分布式的话要运行在很多机器上,同事都在运行,但是这个的复杂度要比单机程序要高很多,因为你的程序逻辑并行运行在很多机器上以后,会有分工,协作等问题,好多机器都在运行,你的数据不是统一的数据,要分工了吧,不然要处理全量的数据,运行多个实例就没必要了,每一个实例处理一部分数据,会引入大量的复杂度。

这些核心技术的实现是不需要用户从零开始的,存储和运算,都已经有大量的成熟的框架来用

        存储框架:(整齐,结构)

HDFS——分布式文件存储系统(HADOOP中的存储框架)    

HBASE——分布式数据库系统

KAFKA——分布式消息缓存系统(实时流式数据处理场景中应用广泛)

 

         运算框架:(要解决的核心问题就是帮用户将处理逻辑在很多机器上并行)

MAPREDUCE—— 离线批处理/HADOOP中的运算框架

SPARK —— 离线批处理/实时流式计算(相当于一个mapReduce的封装)

STORM —— 实时流式计算

离线批处理:数据是静态的,不是数据一边产生一边处理,把某一段时间已经产生好的数据拿来处理,(水桶)

实时流式计算:一边出结果一边处理。(水流)

 

辅助类的工具(解放大数据工程师的一些繁琐工作):

HIVE —— 数据仓库工具(不是数据库 ):可以接收sql,翻译成mapreduce或者spark程序运行

FLUME——数据采集

SQOOP——数据迁移

ELASTIC SEARCH —— 分布式的搜索引擎

换个角度说,大数据是:

  1. 有海量的数据
  2. 有对海量数据进行挖掘的需求
  3. 有对海量数据进行挖掘的软件工具(hadoop、spark、storm、flink、tez、impala......)

大数据在现实生活中的具体应用

数据处理的最典型应用:公司的产品运营情况分析

电商推荐系统:基于海量的浏览行为、购物行为数据,进行大量的算法模型的运算,得出各类推荐结论,以供电商网站页面来为用户进行商品推荐

精准广告推送系统:基于海量的互联网用户的各类数据,统计分析,进行用户画像(得到用户的各种属性标签),然后可以为广告主进行有针对性的精准的广告投放

 

什么是hadoop

hadoop中有3个核心组件:

分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上

分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运算

分布式资源调度平台:YARN —— 帮用户调度大量的mapreduce程序,并合理分配运算资源

 

hdfs整体运行机制

hdfs:分布式文件系统

hdfs有着文件系统共同的特征:

  1. 有目录结构,顶层目录是:  /
  2. 系统中存放的就是文件
  3. 系统可以提供对文件的:创建、删除、修改、查看、移动等功能

hdfs跟普通的单机文件系统有区别:

  1. 单机文件系统中存放的文件,是在一台机器的操作系统中
  2. hdfs的文件系统会横跨N多的机器
  3. 单机文件系统中存放的文件,是在一台机器的磁盘上
  4. hdfs文件系统中存放的文件,是落在n多机器的本地单机文件系统中(hdfs是一个基于linux本地文件系统之上的文件系统)

 

hdfs的工作机制:

  1. 客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户端决定的>
  2. 一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色是:name node

     3、为了保证数据的安全性,hdfs可以将每一个文件块在集群中存放多个副本(到底存几个副本,是由当时存入该文件的客户端指定的)

综述:一个hdfs系统,由一台运行了namenode的服务器,和N台运行了datanode的服务器组成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值