大数据004-hadoop002-数据

数据的存储和分析

单个硬盘存在读写的上限

如果有1TB的硬盘,传输速度100MB/s,需要2.5小时读完

多个硬盘同时读写

如果有100个硬盘,每个硬盘存储1%,读取完不到2分钟。
以上是一个数据,如果有很多个数据集,不但保证了效率,还避免了资源浪费。

多硬盘的问题

  • 数据丢失
    • 最常见的做法:复制,对数据做冗余副本。
      • HDFS
  • 分析结果的结合
    • 1个硬盘处理后要从其他99个硬盘中获取结果,结合使用。
    • Hadoop对此提出的模式为:MapReduce编程模型。
      • Map和reduce两部分组成。

Hadoop使用的处理模式

1. MapReduce编程模型

MapReduce编程模型基本是批处理系统,不适合实时。它的处理时间对比早期的数据处理分析,有了极大提升,但还是做不到秒级。通常需要几分钟或更多的时间,适合离线的使用场景。

2.第一个实时组件

HBase,使用HDFS作为底层存储的键值存储模型。

3.Hadoop2的YARN

Hadoop2中YARN(Yet Another Resource Negotiator),它是一个集群资源管理系统。

4.其他
  • 交互式SQL:
    • 利用MR(MapReduce)进行分发并使用一个分布式查询引擎,使在Hadoop中获取SQL查询低延迟响应的能力(比如hive)
  • 迭代处理:
    • 例如机器学习中,自身具有迭代下,结果集保存在内存中比保存在硬盘中更高效。
  • 流处理:
    • 例如Storm、Spark、Streaming等使在数据流上运行实时、分布式计算,并向Hadoop存储系统或外部系统发布结果。

Hadoop对比其他系统

1.关系数据库

效率对比

先提一下,限制速度的两个重要因素:

  • 传输速度:受限于带宽。

  • 硬盘寻址:磁头移动到特定硬盘位置进行读/写操作。

  • 可以思考下,这两个因素哪个更容易提升?

结论
  1. 如果数据访问模式中含有大量的硬盘寻址,对比流数据(取决于传输速率)模式必然会花费更长的时间。
  2. 如果数据库只更新一小部分记录,关系数据库更有优势。
  3. 如果数据库需要大量数据更新,MR更有优势(因为需要“排序/合并”来重建数据库)

MR适合一次写入、多次读取的数据应用场景,关系数据库更适合持续更新的场景。

数据集对比

另一个重要区别是数据集的结构化程度。

  • 结果化数据:
    • 有既定格式的实体化数据。
  • 半结构化数据:
    • 有格式,但经常被忽略,只能作为对数据结构的一般性知道。例如:电子表格,结构是单元格构成,但是单元格可以保存任何形式的数据。
  • 非结构化数据
    • 没有特定格式,比如纯文本、图像数据。

MR以及Hadoop对于数据规模是线性伸缩的。如果数据量增加至原来的2倍,作业时间也需要2倍。如果集群规模也扩展为2倍,则作业时间与原来的一样。但SQL查询不具备该特性。

2.网格计算

高性能计算采用的方法一般是将作业进行拆分,分散到集群的各台机器上,这些机器访问存储区域网络(SAN)所组成的共享文件系统。如果节点访问的数据量比较庞大时,就会有计算节点因为网络带宽的瓶颈问题在等待数据。
Hadoop将数据存储在计算节点上,以实现数据的本地访问。
数据本地化是Hadoop处理数据的核心。并且通过显式网络拓扑结构保留网络带宽。

3.志愿计算

SETI@home项目,志愿者贡献自己计算机的CPU用于搜索外星生命。它和MR的区别在于,SETI@home需要的是计算能力而不是传输能力。

MR有三大设计目标:

  1. 需要几分钟或几小时完成作业提供服务;
  2. 运行在同一个内容有高速网络链接的数据中心内;
  3. 数据中心内容的计算机都是可靠的、专门的硬件;

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

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

相关文章

【AGX】Ubuntu20.04 + ROS_ noetic+ 大疆Mid360激光 雷达评测

大家好,我是虎哥,最近组装机器人,使用到了大疆孵化的圳市览沃科技有限公司(简称Livox览沃科技)推出的觅道系列全新混合固态激光雷达Mid-360,顺便试试效果,也记录一下使用入门过程。 "觅道M…

MATLAB : interp1()用法介绍

目录 一、基本语法: 二、实例: 1.样条拟合减振器阻尼曲线 ​2.PP拟合时间温度曲线 interp1 是 MATLAB 中的一个函数,用于在一维数据上执行插值操作。这个函数可以帮助你估计或计算已知数据点之间未知点的值。以下是 interp1 函数的基本用…

分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测

分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现POA-BP鹈鹕算法优化BP神经网络多特征分类预测(Matlab实…

MySQL——88张表汇总——DDL+外键

外键er图 88张表 /* Navicat MySQL Data TransferSource Server : MyList Source Server Version : 50726 Source Host : localhost:3309 Source Database : schooldbTarget Server Type : MYSQL Target Server Version : 50726 File Encoding …

《深入解析Windows操作系统》第3章读书笔记

1、陷阱分发:中断和异常是导致处理器转向正常控制流之外代码的两种操作系统条件。陷阱的定义如下:当异常或者中断发生时,处理器捕捉到一个执行线程,并且将控制权转移到操作系统中某一个固定地址处。在Windows系统中,处…

Pycharm:常用插件安装和使用

简介:好用的插件可以美化界面或者提升效率,使工作事半功倍。 推荐插件: 1、CSV插件:美化csv数据展示 2、Translation:翻译的插件,可以进行中英互译 3、CodeGlance:代码小地图 4、Markdown …

代码随想录:二叉树29-30

目录 701.二叉搜索树中的插入操作 题目 代码(迭代法走一边) 代码(递归法走一边) 450.删除二叉搜索树中的节点 题目 代码(递归法走一边) 701.二叉搜索树中的插入操作 题目 给定二叉搜索树&#xff…

【软考高项】二十七、范围管理6个过程

一、规划范围管理 1、定义、作用 定义:为了记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程作用:在整个项目期间对如何管理范围提供指南和方向 2、输入 项目章程 项目管理计划:质量管理计划、项目生命周…

编程本源

文章目录 引言编程的本质工作与编程编程的未来 引言 知乎上有一个热门的问题,什么是人生的顶级享受? 看到这个问题我回想到了多年前,那个炎热的午后,我在学校的图书馆里,一边参照书籍,一边用着一部破旧的t…

使用STM32CubeMX对STM32F4的CAN1/2/3配置及接收中断开启

目录 1. CAN配置1.1引脚(STM32F413VGT6-LQFP100)1.2 时钟1.3 RCC配置1.4 CAN1配置1.5 CAN2配置1.6 CAN3配置1.7 输出设置 2. CAN代码2.1 CAN初始化2.2 CAN滤波器设置2.3 CAN使能2.4 激活中断2.5 CAN发送函数2.6 CAN回调函数2.7 main之后的代码 1. CAN配置…

linux下的mysql8.0安装

首先下载mysql8.0压缩包 mysql8.0下载地址: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-i686.tar.xz # 下载 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-i686.tar.xz# 解压 tar zxvf mysql-8.0.11…

Node.js使用

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得JavaScript能够脱离浏览器,直接在服务器端运行。Node.js的异步I/O模型使其在处理高并发请求时表现出色,适用于构建网络应用、实时应用等。以下是对Node.js使用的总结: …

【无监督+自然语言】 GPT,BERT, GPT-2,GPT-3 生成式预训练模型方法概述 (Generative Pre-Traning)

主要参考 【GPT,GPT-2,GPT-3 论文精读【李沐论文精读】-2022.03.04】 https://www.bilibili.com/video/BV1AF411b7xQ/ 大语言模型综述: https://blog.csdn.net/imwaters/article/details/137019747 GPT与chatgpt的关系 图源:L…

java多功能手机

随着科技的发展,手机的使用已经普及到每个家庭甚至个人,手机的属性越来越强大,功能也越来越多,因此人们在生活中越来越依赖于手机。 任务要求,使用所学知识编写一个手机属性及功能分析程序设计,测试各个手机…

使用Uiautomotorviewer无法获取手机页面元素+解决办法

在进行 Android 应用程序开发或测试时,有时会遇到以下错误: Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException这个错误可能会导致开发或测试过程中的一些困扰,但有一个简单的解决方法: 解决方法…

JEECG/SpringBoot集成flowable流程框架

IDEA安装Flowable BPMN visualizer插件 pom.xml中引入flowable相关依赖 <dependency><groupId>org.flowable</groupId><artifactId>flowable-spring-boot-starter</artifactId><version>6.7.2</version></dependency><depe…

PHP 错误 Unparenthesized `a ? b : c ? d : e` is not supported

最近在一个新的服务器上测试一些老代码的时候得到了类似上面的错误&#xff1a; [Thu Apr 25 07:37:34.139768 2024] [php:error] [pid 691410] [client 192.168.1.229:57183] PHP Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : …

Docker镜像和容器操作

目录 一.Docker镜像创建与操作 1. 搜索镜像 2. 获取镜像 3. 镜像加速下载 4. 查看镜像信息 5. 查看下载的镜像文件信息 ​编辑6. 查看下载到本地的所有镜像 7. 根据镜像的唯一标识ID号&#xff0c;获取镜像详细信息 8. 为本地的镜像添加新的标签 9. 删除镜像 10. 存入…

【Prometheus】了解你的Prometheus指标

简单Prometheus查询用于指标检查 作者&#xff1a;Michal Kazmierczak 来源&#xff1a;mkaz.me 基数是关键。 它很容易失控&#xff0c;就像任何组合爆炸的实例一样。 这&#xff0c;再加上90%的指标从未被访问过的说法&#xff0c;创造了一个值得探索的领域。 观察性云供应…

复杂Python代码看不懂,分享两个工具!

复杂Python代码看不懂&#xff0c;分享两个工具&#xff0c;事半功倍&#xff01; Ryven Ryven是一个Python代码可视化工具&#xff01; 精进地址&#xff1a;https://github.com/leon-thomm/Ryven 一些案例&#xff0c; Ryven可视化操作矩阵 Ryven可视化冒泡排序算法 Ryv…