当前位置: 首页 > news >正文

hadoop考试应急

概述

四大特点:大量化、快速化、多元化、价值化

关键技术:采集、存储管理、处理分析、隐私和安全

计算模式:批处理、流、图、查询分析计算

Hadoop处理架构

了解就好

  • 2007年,雅虎在Sunnyvale总部建立了M45——一个包含了4000个处理器和1.5PB容量的Hadoop集群系统
    在这里插入图片描述
启动haoop:  Start-all.sh查看状态:  jps

NameNod:负责协调数据存储

DataNod:存储被拆分的数据块

JobTracker:协调计算

TaskTracker:负责完成JobTrack的计算

SecondaryNameNod 帮助NameNod收集系统运行数据

Hadoop特点:

  • 高可靠性

  • 高效性

  • 高可扩展性

  • 高容错性

  • 成本低

  • 运行在Linux平台上

  • 支持多种编程语言

在这里插入图片描述

HDFS

计算机集群结构

分布式文件系统把文件存储在多个计算机节点上、所有的计算机节点构成一个集群

相比多个处理器和专用高级硬件的并行化处理装置 大大降低的成本开销

图无需记忆,仅仅帮助理解

在这里插入图片描述

分布式文件系统的结构

由: MasterNode NameNode SlaveNode DataNode构成

图无需记忆,仅仅帮助理解

在这里插入图片描述

HDFS实现目标:

  • 廉价设备

    流数据读写

    大数据集

    简单文件模型

    跨平台

    HDFS 局限:

    无法 多用户写入和修改任意文件

    不适 低延迟数据访问

    很难高效存储打大量小文件

    HDFS默认一个块64MB

寻址方式:

从NameNode中找到构成目标文件的数据快的位置列表、从位置列表中得到存储各数据块的数据节点位置,数据节点找到文件返回给客户端

HDFS采用抽象数据块好处

  • 支持大规模文件存储

    一个大文件会被拆分成小文件分发到各个节点、所以文件大小不受单个节点影响

    简化系统设计

    适合数据备份

    每个文件都可以冗余存储到各个节点、提高了容错性

三个副本如何存储

第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点

第二个副本:放置在与第一个副本不同的机架的节点上

第三个副本:与第一个副本相同机架的其他节点上

更多副本:随机节点

NameNod & DataNode

在这里插入图片描述

FsImage

  • 维护整个系统的所有目录和文件信息

  • 保存了最新的元数据检查点、包含了整个系统的所有目录和文件信息(扩展)

EditLog

  • 存储了对所有文件 操作(编辑、删除、添加……) 的日志

FsImage EditLog 的备份(其备份在secondaryNamenode上)

  1. NameNode暂停使用EditLog,创建 EditLong.new.

  2. secondaryNamenode 获取到NameNode上的fsimage 和 editlog(通过get方式)

  3. secondaryNamenode 将fsimage存入内存,一条一条执行editlog中的更新操作,将fsimage和editlog合并

  4. SecondaryNameNode 通过(post方式)将 Fsimage发送到 NameNode上

  5. Namenode 用Editlog.new 替代 Editlog

在这里插入图片描述

数据节点出错

  1. 每个数据节点会定期的向NameNode发送“心跳”(报告自己的状态)

  2. 当数据节点出错,“心跳”将停止、这时数据节点就会被标记为“宕机”,NameNode将不再向该节点发送任何I/O

  3. 由于数据节点不可用可能会出现数据块的副本数量小于****冗余因子****

  4. 当系统检测到莫数据节点出现 3.这种情况,就会为该节点生成新的副本

建议看视频:15分钟左右

读数据的过程

​ 和寻址方式有一定 类似

重要

在这里插入图片描述

写数据的过程

在这里插入图片描述

HDFS常用命名

建议命名头使用 hadoop fs

运用

Hdfs dfs -ls <指定路径>显示指定路径的所有文件Hdfs dfs -madir <指定路径>创建指定路径下的指定name的文件夹…… -put <本地文件> <目标位置>…… -get <目标文件> <指定位置>复制文件到本地文件系统hadoop fs -copyFromLocal <localsrc> <dst>将本地源文件<localsrc>复制到路径<dst>指定的文件或文件夹中…… -cat <指定文件>查看指定文件

MapReduce

  • MapReduce将计算过程抽象到了两个函数:Map和Reduce

  • MapReduce采用“分而治之”策略,将大量数据分割成片,这些片可以被map处理

  • MapReduce计算向数据靠拢因为: 移动数据需要大量网络传输开销

  • I MapReduce 采用Master/slave 架构,及一master和若干slave。

    • Master上运行JobTracker,slave上运行TaskTracker
    • JobTracker:协调计算
    • TaskTracker:负责完成JobTrack的计算

Habse

Habse是对bigtable的实现

在这里插入图片描述

Habse是一个稀疏、多维、排序的映射表。根据行键排序

表的索引是行键、列族、列限定符、时间戳确定

Habse存储的是 字符串,没有数据类型

更新操作时不会删除旧的版本(总版本数达到建立表时所设立的版本数时会删除最旧的版本)

habse功能组件

  • 库函数
  • 一个Master主服务器
  • 许多region(区域、分区)服务器

region服务器:存储和维护Master服务器分配给自己region、处理客户端请求

Master服务器:管理维护Habse表分区信息、维护region队列分配region、维持整体Habse

region

  • 一个region 1G-2G

  • 同一个Region不会被拆分到多个Region服务器上

  • 每个Region服务器可以有10-1000Region及 10G–1T

region定位

在这里插入图片描述

原数组表(META表)存放region和region服务器的映射关系

当数据Habse表过大时,META也会被分成多个region

Root表记录元数据的具体位置,其只有一个region

zookeepre记录root表位置

  • HBase有三层结构

计算方式

假设.META.表的每行(一个映射条目)在内存中大约占用1KB,并且每个Region限制为128MB,那么,上面的三层结构可以保存的用户数据表的Region数目的计算方法是:

root最多有 128MB/1kB = 2^17行

每个mate最大只有 128MB/1kB = 2^17行

所有最多只能存2^17 * 2^17

HLong工作原理

采用预写式日志,及先写日志在存入数据

Habse 命令

启动Habse、先启动hadoop(start-all.sh)再启动habse

start-habse.sh

通过habse shell打开habse 的shell界面

通过exit退出shell界面

stop-habse.sh停止habse

创建表
create 'student','name','sex',{NAME=>'course',VERSIONS=>2}
插入数据
put 'student','95001','name','xiaog'put 'student','95001','name','xiaoming'
列族下可以再分
put 'student','95001','course:math','31'
删除指定数据
delete 'student','95001','name'
删除指定一行
deleteall 'student','95001'
查看指定一行
get 'studet','95001'
查看指定版本数据
get 'student','95001',{COLUMN=>'name',VERSIONS=>1}
查看整个表
scan 'student'
停用表
disable 'student'
删除表
drop 'student'eixt

Hive

因为使用java编程效率比较低、提供一种利用sql的语言进行查询

操作

Hive可以用自带的derby来存储元数据

启动 hadoop在启动hive

start-all.shhive

数据类型;

TINYINT 1个字节

SMALLINT 2个字节

INT 4个字节

BIGINT 8个字节

FLOAT 4个字节

Double 8个

ARRAY:有序字段

MAP: 无序字段

STRUCT:一组命名的字段

与sql不同的是hive有时需要指定分隔符和数据位置

指定分隔符
row format delimited fields terminated by ','
指定是数据位置
location '/C/……'
分区,不能在创建表中写
partitioned by(city string,state string)
创建数据库
create database if not exists hive;
使用数据库
use hive
创建表
create table if not exists hiveusr(
name string comment 'username',
sex string,
course int)创建外部表关键字external
create external if not exists usr2(
name string,
address struct<street:string,city:string,QQ:string,weixi:string>,
identyfy map<int,tinytin>
ff map<int,int>)
row format delimited filds terminated by ','
location '/usr/....'增加列
alter table hiveusr add columns(age int);
删除列
alter table hiveusr replace columns(age int);导入数据 
load data local inpath 'usr/local/....' overwrite table hiveusr.
如果数据在本地要加上local关键字,利用overwrite可以让追加效果变成覆盖插入数据
insert overwrite table hivesur values('xx','man','1')从其他表中导入
insert overwirte table hivesur select name,age,course from stu where (条件)

map<int,int>)
row format delimited filds terminated by ‘,’
location ‘/usr/…’

增加列
alter table hiveusr add columns(age int);
删除列
alter table hiveusr replace columns(age int);

导入数据
load data local inpath ‘usr/local/…’ overwrite table hiveusr.
如果数据在本地要加上local关键字,利用overwrite可以让追加效果变成覆盖

插入数据
insert overwrite table hivesur values(‘xx’,‘man’,‘1’)

从其他表中导入
insert overwirte table hivesur select name,age,course from stu where (条件)


相关文章:

hadoop考试应急

概述 四大特点&#xff1a;大量化、快速化、多元化、价值化 关键技术&#xff1a;采集、存储管理、处理分析、隐私和安全 计算模式&#xff1a;批处理、流、图、查询分析计算 Hadoop处理架构 了解就好 2007年&#xff0c;雅虎在Sunnyvale总部建立了M45——一个包含了4000…...

【React】Hooks

&#x1f6a9;&#x1f6a9;&#x1f6a9; &#x1f48e;个人主页: 阿选不出来 &#x1f4a8;&#x1f4a8;&#x1f4a8; &#x1f48e;个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. &#x1f4a8;&#x1f4a8;&#x1f4a8; &#x1f48e;目…...

升级Room引发的惨案!!

kotlin升级 在升级kotlin的时候&#xff0c;直接升级到大版本的kotlin&#xff08;比如1.7以上&#xff09;&#xff0c;直接报错&#xff0c;只是报错不知道原因。 koltin Release details 后来把koltin版本改成1.6.0&#xff0c;报如下的错&#xff0c;我们才知道gradle是需…...

RPC框架:一文带你搞懂RPC

RPC是什么&#xff08;GPT答&#xff09; ChatGPT回答&#xff1a; RPC(Remote Procedure Call)是一种分布式应用程序的编程模型&#xff0c;允许程序在不同的计算机上运行。它以一种透明的方式&#xff0c;将一个程序的函数调用定向到远程系统上的另一个程序&#xff0c;而使…...

电子招标采购系统源码—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff0…...

P16 激活函数与Loss 的梯度

参考&#xff1a;https://www.ngui.cc/el/507608.html?actiononClick这里面简单回顾一下PyTorch 里面的两个常用的梯度自动计算的APIautoGrad 和 Backward, 最后结合 softmax 简单介绍一下一下应用场景。目录&#xff1a;1 autoGrad2 Backward3 softmax一 autoGrad输入 x输出损…...

ThinkPHP5美食商城系统

有需要请私信或看评论链接哦 可远程调试 ThinkPHP5美食商城系统一 介绍 此美食商城系统基于ThinkPHP5框架开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。用户注册登录后可购买美食&#xff0c;个人中心&#xff0c;评论和反馈等&#xff…...

Vue3 - $refs 使用教程,父组件调用获取子组件数据和方法(setup() / <script setup>)

前言 在 Vue2 中父组件使用 $refs 调用子组件数据和方法非常简单,但在 Vue3 中这种方法行不通了。 本文实现了 Vue3 中父组件使用 $refs 获取调用子组件数据和方法教程, 并且提供了 setup() 与 <script setup> 两种 “开发模式” 的示例代码,请根据需要进行选择。 网…...

华为OD机试 - 众数和中位数(Python)| 真题+思路+考点+代码+岗位

众数和中位数 题目 众数是指一组数据中出现次数多的数 众数可以是多个中位数是指把一组数据从小到大排列,最中间的那个数, 如果这组数据的个数是奇数,那最中间那个就是中位数 如果这组数据的个数为偶数,那就把中间的两个数之和除以 2 就是中位数查找整型数组中元素的众数并…...

一眼万年的 Keychron 无线机械键盘

一眼万年的 Keychron 无线机械键盘 一款好的键盘对于程序员或者喜欢码字的人来说是非常重要的&#xff0c;而最近博主入手了自己的第一款机械键盘——Keychron 无线机械键盘。 机械键盘特点 有独立轴体&#xff0c;通过两个簧接触&#xff0c;来触发信号&#xff0c;价格相对贵…...

自动化测试高频面试题(含答案)

Hello&#xff0c;你们的好朋友来了&#xff01;今天猜猜我给大家带来点啥干货呢&#xff1f;最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以&#xff0c;今天特意给大家整理了一些经常被公司问到的自动化测试相关的面试题。停&#xff0c;咱先收藏起…...

3、按键扫描检测处理

说明&#xff1a;本文处理按键的短按、长按检测执行&#xff0c;非矩阵按键 硬件可以类似如下连接即可&#xff0c;无需放置上下拉电阻&#xff1b; 按键动作分长按、短按(弹起时执行)两种 按下不放执行长按&#xff0c;但松开按键时不予执行短按函数 多个按键可以同时操作 按…...

集中式存储和分布式存储

分布式存储是相对于集中式存储来说的&#xff0c;在介绍分布式存储之前&#xff0c;我们先看看什么是集中式存储。不久之前&#xff0c;企业级的存储设备都是集中式存储。所谓集中式存储&#xff0c;从概念上可以看出来是具有集中性的&#xff0c;也就是整个存储是集中在一个系…...

【机器学习数据集】如何获得机器学习的练习数据?

一、scikit-learn自带数据集Scikit-learn内置了很多可以用于机器学习的数据&#xff0c;可以用两行代码就可以使用这些数据。自带的小的数据集为&#xff1a;sklearn.datasets.load_<name>load_bostonBoston房屋价格回归506*13fetch_california_housing加州住房回归20640…...

【编程实践】使用 Kotlin HTTP 框架 Fuel 实现 GET,POST 接口 kittinunf.fuel【极简教程】

目录 Fuel 简介 实现代码 GET网络请求用法(有三种写法࿰...

大数据DataX(一):DataX的框架设计和插件体系

文章目录 DataX的框架设计和插件体系 一、DataX是什么...

软考高级信息系统项目管理师系列之十一:项目进度管理

软考高级信息系统项目管理师系列之十一:项目进度管理 一、进度管理领域输入、输出、工具和技术表二、项目进度管理1.项目进度管理过程2.项目进度管理三、项目进度管理过程1.项目进度管理2.工作包和活动3.活动清单4.活动属性5.项目进度网络图6.资源日历7.活动资源需求8.资源分解…...

vue2版本《后台管理模式》(下)

文章目录前言一、home 页以下都属于home子组件二、header 头部 组件二、Menu 页面三、Bread 面包屑四、Footer五 、分页器&#xff1a; Pageing![在这里插入图片描述](https://img-blog.csdnimg.cn/fbe9bb7e84a04ccda4d3fc9f4ab9c36b.png#pic_center)六、权限管理总结前言 这章…...

软考中级-程序设计语言

&#xff08;1&#xff09;解释器解释源程序时不生成独立的目标代码&#xff0c;源程序和解释程序都参与到程序执行中。&#xff08;2&#xff09;编译器编译时生成独立的目标代码&#xff0c;运行时是运行与源程序等价的目标程序&#xff0c;源程序不参与执行。阶段补充&#…...

Sphinx : 高性能SQL全文检索引擎

Sphinx是一款基于SQL的高性能全文检索引擎&#xff0c;Sphinx的性能在众多全文检索引擎中也是数一数二的&#xff0c;利用Sphinx&#xff0c;我们可以完成比数据库本身更专业的搜索功能&#xff0c;而且可以有很多针对性的性能优化。 Sphinx的特点 快速创建索引&#xff1a;3分…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性&#xff08;Basic Attributes&#xff09; 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...