大数据基础平台实施及运维

news2024/9/25 9:30:13

一、大数据介绍

1、为什么使用大数据技术

数据量越来越大,数据分析的实时性越来越强,数据结果应用范围越来越广。(从用户的访问量、量、访问时间、访问频率,市场可以得到很多信息)

2、大数据的定义

数据收集、数据清洗、数据处理就是大数据技术的整个流程。

二、大数据应用领域

1.广告
广告投放         广告策略
2.电信

深度包检测        流失分析        网络质量
3.金融        

风险识别(借贷款)        预测(12306买票换乘)
4.能源生物
基因组分析        地质分析
5.安全
入侵检测        图像识别

6.社交游戏
流失分析        社交推荐        使用分析
7.电商零售
推荐系统        交易分析

三、大数据技术处理框架

1、什么是大数据处理框架

处理框架和处理引擎负责对数据系统中的数据进行计算虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。(ELK日志监控处理框架)

2、大数据处理框架有哪些

①仅批处理框架(滴滴打车数据量10个T一批处理)
用于批量处理大数据集的处理框架,可对整个数据集进行操作

例如:
Apache Hadoop,一种以MapReduce作为默认处理引擎批处理框架

②仅流处理框架(12306就是用流处理框架,数据的实时性很强,数据流找不到数据头和尾)

用于对随时进入系统的数据进行计算,是一种“无数据边界”的操作方式。

例如:
Apache Storm
Apache Samza

③混合处理框架

一些大数据处理框架可同时处理批处理和流处理工作负载
例如:
Apache Spark
Apache Flink

四、hadoop生态圈

1、项目定义

Apache Hadoop项目用于高可用,可扩展的分布式计算的开源软件

Apache Hadoop是一个大数据处理框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集

Apache Hadoop可以从单个服务器扩展到数千台计算机

Apache Hadoop集群中每台计算机都提供本地计算和存储

Apache Hadoop集群不是依靠硬件来提供高可用性,而是设计了用于检测和处理应用程序层的故障,从而在计算机集群之上提供高可用性服务。

开源软件
大数据处理架构
单台服务可以,数千台服务器
每台服务器都存自己的数据及运算自己的数据
把硬件故障认为常态,通过软件把控故障

2、核心项目

Hadoop分布式文件系统(HDFS):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。Hadoop YARN:作业调度和集群资源管理的框架

Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集

Hadoop Common:支持其他Hadoop模块的常用实用程序。

Hadoop Ozone: Hadoop集群所提供的对象存储。

3、相关项目

Ambari
基于Web的工具,用于配置,管理和监控Apache Hadoop集群,包括对Hadoop HDFS MapReduce,Hive,HCatalog,HBase,Zookeeper,Oozie,Pig和Sqoop的支持。
Ambari还提供了一个用于查看集群运行状况的仪表板,例如热图,以及可视化查看MapReduce,Pig和oHive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。

Spark
用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。

ZooKeeper
用于分布式应用程序的高性能协调服务。

核心项目 hdfs mapreduce yarn
相关项目 ambari hbase hive spark zookeeper

五、hadoop核心项目分布式文件系统HDFS

1、文件系统定义

HDFS (Hadoop Distributed File System,Hadoop分布式文件系统)它是一个高度容错性的系统它适合部署在廉价的机器上它能提供高吞吐量的数据访问它适合那些有着超大数据集(large data set)的应用程序(超大数据集例如:海量数据分析、机器学习等)

2、文件系统特点

支持大数据文件
非常适合上TB级别的大文件或者一堆大数据文件的存储,如果文件只有几个G甚至更小就没啥意思了

支持文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算节点上,它的意义在于读取文件时可以同时从多个计算节点上读取不同区块的文件,多主机读取比单主机读取效率要高得多。

支持一次写入,多次读取,顺序读取( 流式数据访问)这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件未添加内容。

支持廉价硬件
HDFS可以部署在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。
支持硬件故障
HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以讯速找另一块副本取文件。

总结:支持大文件存储  分块存储  支持廉价硬件  支持硬件故障

3、文件系统关键词

Block
最基本的存储单位;将文件进行分块处理,通常是128M/块,例如:256M文件会被分为2个Block.

Hadoop集群架构(主从),类似mysql、ceph、LB(主:调度器 从realserver)

NameNode(主)(最好做高可用)
用于保存整个文件系统的目录信息
文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果
出错,NameNode就失效了。

接收用户的操作请求
维护文件系统的目录结构
管理文件和Block之间的映射管理
管理 block 和 DataNode 之间的映射

DataNode(从节点)
分布在廉价的计算机上,用于存储Block块文件。文件被分成块存储到 DataNode 的磁盘上
每个Block(块)可以设置多副本

4、hdfs写数据流程

 

总结:客户端向namenode发起文件上传请求

           客户端向datanode发起建立连接请求

           客户端向datanode上传存储数据(block只要一个成功上传,NameNode会自动同步)

5、hdfs读数据流程

 总结:和存储文件一样必须通过NameNode门户,只不过读取文件过程很简单,不是单一block读取,多个block同时读取带宽大,速度也快。

6、Hadoop核心项目编程模型

1、MapReduce作用

通过对HDFS分布式文件系统的了解,我们已经可以把海量数据存储在集群中DataNode之上了,但这仅是Hadoop工作的第一步,那么如何从海量的数据中找到我们所需要的数据呢,这就是MapReduce要做的事情了。

例如:1+2    +    3+4  +  5+6   =?          客户需要马上知道自己的5亿资金还有多少(各个分行分头统计,最后报给总行,效率快)

Map: 1+2=3         3+4=7        5+6=11

Reduce: 3+7+11=21     

结论
将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。通俗说MapReduce是一套从海量源数据提取、分析元素,最后返回结果集的方法
当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据

map 把大数据分成小数据,进行计算通过洗牌的方式给reducereduce 对map的结果进行汇总

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

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

相关文章

随机数发生器设计(五)

随机数发生器设计(五)- 重播种、输出、自测试 4 重播种函数5 输出函数6 自测试 4 重播种函数 重播种函数利用熵输入及额外输入更新种子,同时对内部状态进行更新。重播种操作函数如下: 函数定义:SM3_RNG_Reseed(workin…

【数据库原理与实践】记忆型章节作业汇总

填空题部分: Chp 8 安全性与完整性 part 1: 数据库的安全性是指保护数据库以防止不合法的使用所造成的( 数据泄露、更改或破坏 )。计算机系统有三类安全性问题,即( 技术安全 )、管理安全和…

【gitflow】 概念基本介绍

gitflow 简介 什么是gitflow? 我们大家都很会用git,但是我们很少去关心我们要怎么用branch和版本控制。 只知道master是第一个主分支,其他分支都是次要分支, 那你知道如下的问题如何回答吗? 如何保证主分支的稳定…

vue3+ts封装axios 配置BASE_URL拦截器 单个接口的拦截 全局拦截器

1. config.ts 书写BASE_URL ( service/request/config.ts) BASE_URL书写的方式很多 1: 直接在axios.create里面写死 ,在打包或者测试的时候手动进行修改BASE_URL 2:新建一个文件 在文件里面判断当前的环境 进行赋值BASE_URL 3:定义.env文件 …

线程间同步

线程间资源竞争 int count 0;void * add(void *arg){int val,i;for(i 0;i< 5000;i ){val count;printf("%p: %d\n",pthread_self(),val);count val 1;}return nullptr; }int main(){pthread_t tida,tidb;pthread_create(&tida,NULL,add,NULL);pthread_c…

python爬虫进行AES解密遇到的问题

1、TypeError: Object type <class ‘str’> cannot be passed to C code 报错如下&#xff1a; File "C:\Python311\Lib\site-packages\Crypto\Util\_raw_api.py", line 143, in c_uint8_ptrraise TypeError("Object type %s cannot be passed to C cod…

【改进算法】混合鲸鱼WOA和BAT算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

0101B站学习视频发留言找小伙伴-实用小工具系列

文章目录 1 起因2 找方法3 bilibili_api4 实现5 知识点结语 1 起因 经常在B站看学习视频&#xff0c;但是一个人学习&#xff0c;偶尔在想&#xff0c;我学的怎么样&#xff1f;有没有用&#xff1f;有没有谁可以一起交流下&#xff1f;好在现在有互联网&#xff0c;可以极大的…

WiFi各协议理论速度

一、总览 二、11b到11g提升点 802.11g工作在2.4G频段下&#xff0c;能够支持OFDM和CCK两种调制方式&#xff0c;提供16-QAM、64-QAM、BPSK和QPSK四种编码方式&#xff0c;我们通常说的54Mbps速率就是在2.4G频段下&#xff0c;通过OFDM调制&#xff0c;采用64-QAM编码的情况下实…

表达式和语句

表达式 可以被求值的代码&#xff0c;并将其计算出一个结果 语句 一段可以执行的代码&#xff0c;是一个行为&#xff0c;例如分支语句和循环语句 三大流程控制语句 以前写的代码&#xff0c;写几句就从上往下执行 &#xff0c;---顺序结构 有时候要根据条件 选择执行代码…

Spring源码之PostProcessor解析

系列文章目录 文章目录 系列文章目录前言一、PostProcessor是什么二、PostProcessor的作用三、Spring框架中有哪些PostProcessor呢BeanPostProcessorBeanFactoryPostProcessorInstantiationAwareBeanPostProcessorDestructionAwareBeanPostProcessorMergedBeanDefinitionPostPr…

Pinia 和 Vuex ,理解这两个 Vue 状态管理模式

Pinia和Vuex一样都是是vue的全局状态管理器。其实Pinia就是Vuex5&#xff0c;只不过为了尊重原作者的贡献就沿用了这个看起来很甜的名字Pinia。 本文通过Vue3的形式对两者的不同实现方式进行对比&#xff0c;让你在以后工作中无论使用到Pinia还是Vuex的时候都能够游刃有余。 …

Linux下在日志中打印时间戳

1、背景介绍&#xff1a;在实验过程中需要记录任务运行情况&#xff0c;为此需要在日志中增加时间戳打印信息&#xff0c;方便事后查看。 2、实现方法 示例如下&#xff1a; #include <stdio.h> #include <time.h> #include<string.h>void print_debug_me…

如何在iPhone上用ChatGPT替换Siri

To use ChatGPT with Siri on an iPhone or iPad, get an OpenAI API key and download the ChatGPT Siri shortcut. Enter your API key in the shortcut setup and select the GPT model you want to use, then hit “Add Shortcut.” Trigger the shortcut manually first t…

FreeRTOS实时操作系统(二)系统文件代码学习

文章目录 前言系统配置任务创建任务创建删除实践 前言 接着学习正点原子的FreeRTOS教程&#xff0c;涉及到一些详细的系统内文件代码 系统配置 可以通过各种的宏定义来实现我们自己的RTOS配置&#xff08;在FreeRTOSconfig.h&#xff09; “INCLUDE”&#xff1a;配置API函数…

【Java】catch里面抛出了异常finally里面的事务会提交吗?

文章目录 背景目前的代码直接实战演示单元测试总结 背景 我们公司的系统中有一个业务场景&#xff0c;需要第三方的账户数据同步到我们系统。 同步账号的同时&#xff0c;会将所有同步数据和是否成功记录到一张同步日志表中&#xff0c;方便排查问题和记录。 好了&#xff0c;…

window11系统CUDA、cuDNN 安装以及环境变量配置

文章目录 一&#xff0c;说明二&#xff0c;cuda的下载以及安装1. 确定自己电脑设备哪个版本cudaa. 点击左下角b. 点击左下角c.接着点击 组件 2. cuda的下载3. cuda的安装1. 双击 点击 ok2. 同意即可3. 这个随意哪个都行4.选择安装位置 接着下一步 三&#xff0c;cuda环境变量设…

Oracle安装时先决条件检查失败和[INS-35180] 无法检查可用内存问题解决

Oracle安装时先决条件检查失败和[INS-35180] 无法检查可用内存问题解决 问题&#xff1a; [INS-13001] 此操作系统不支持 Oracle 数据库问题原因解决方案 问题2&#xff1a;[INS-35180] 无法检查可用内存问题原因解决方案 问题&#xff1a; [INS-13001] 此操作系统不支持 Oracl…

Python面向对象编程-构建游戏和GUI 手把手项目教学(1.1)

总项目目标&#xff1a;设计一个简单的纸牌游戏程序&#xff0c;称为"Higher or Lower"&#xff08;高还是低&#xff09;。游戏中&#xff0c;玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性&#xff0c;玩家可以得到或失去相应的积分。 项目1.1…

循环码的编码、译码与循环冗余校验

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 循环码的编码循环码…