![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
hadoop
文章平均质量分 90
大数据 hadoop生态圈学习
.道不虚行
欢迎分享
展开
-
FLUME-NG 使用总结
FLUME-NG 使用总结1、Flume-NG 概述2、Flume-NG 架构设计要点3、Flow Pipeline4、Flume NG 三个组件概要4.1、FlumeSource4.2、FlumeChannel4.3、FlumeSink5、入门应用5.1、flume-ng 通过网络端口采集数据5.2、flume-ng 通过Exec tail采集数据5.3、可能遇到的问题1、Flume-NG 概述Flume-NG 是一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动,原创 2021-04-20 10:30:17 · 1188 阅读 · 0 评论 -
大数据辅助工具--Flume 数据采集组件
大数据辅助工具--Flume 数据采集组件1、数据收集工具系统产生背景2、专业的数据收集工具2.1、Chukwa2.2、Scribe2.3、Fluentd2.4、Logstash2.5、Apache Flume3、Flume 概述3.1、Flume 概念3.2、Flume 版本介绍4、Flume 体系结构/核心组件4.1、概述4.2、Flume 核心组件4.2.1、Event4.2.2、Client4.2.3、Agent4.2.4、Source4.2.5、Agent 之 Channel4.2.6、Agent原创 2021-03-22 18:12:59 · 1406 阅读 · 0 评论 -
Hbase 协处理器 Coprocessor 及二级索引案例
Hbase 协处理器 Coprocessor 及二级索引案例1、协处理器—Coprocessor1.1、起源1.2、介绍2、协处理加载方式3、二级索引(ObserverCoprocessor 案例)1、协处理器—Coprocessor1.1、起源(1)Hbase 作为列簇数据库最经常被人诟病的特性包括:无法轻易建立 “二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的 (<0.92)Hbase 中,统计数据表的总行数,需要使用 Counter 方法,执行一次 MapReduce Jo原创 2021-03-18 18:08:41 · 417 阅读 · 0 评论 -
Hbase 建表高级属性及表设计
Hbase 建表高级属性及表设计1、建表高级属性1.1、BLOOMFILTER(布隆过滤)1.2、VERSIONS(版本)1.3、COMPRESSION(压缩)1.4、TTL(列簇数据存活时间戳)1.5、alter(修改)1.6、describe/desc1.7、disable_all/enable_all1.8、drop_all1.9、hbase 预分区2、表设计2.1、列簇设计2.2、RowKey 设计2.2.1、Rowkey 设计三原则2.2.1.1、rowkey 长度原则2.2.1.2、rowkey原创 2021-03-18 15:05:58 · 1116 阅读 · 0 评论 -
HBase 底层原理(系统架构、物理存储、寻址机制、读写过程、主从节点工作机制)
HBase 底层原理(系统架构、物理存储、寻址机制、读写过程、主从节点工作机制)1、系统架构2、物理存储2.1、整体物理结构2.2、StoreFile 和 HFile 结构2.3、MemStore 和 StoreFile2.4、HLog(WAL)3、寻址机制3.1、老的 Region 寻址方式3.2、新的 Region 寻址方式4、读写过程4.1、读请求过程4.2、写请求过程5、RegionServer 工作机制6、Master 工作机制1、系统架构每一个 RegionServer 就只有一个 HLo原创 2021-03-17 18:31:57 · 429 阅读 · 1 评论 -
HBase 整合 Hive
HBase 整合 Hive1、原理2、准备 HBase 表和数据3、Hive 端操作4、验证1、原理(1)Hive 与 HBase 利用两者本身对外的 API 来实现整合,主要是靠 HBaseStorageHandler 进行通信,利用 HBaseStorageHandler,Hive 可以获取到 Hive 表对应的 HBase 表名,列簇以及列,InputFormat 和 OutputFormat 类,创建和删除 HBase 表等。(2)Hive 访问 HBase 中表数据,实质上是通过 MapRe原创 2021-03-17 14:37:08 · 129 阅读 · 0 评论 -
Sqoop 数据迁移工具(mysql、HDFS、Hive、HBase)
Sqoop 数据迁移工具(mysql、HDFS、Hive、HBase)1、概述2、工作机制3、Sqoop 安装3.1、准备安装包3.2、安装步骤3.2.1、解压安装包到安装目录3.2.2、sqoop-env.sh3.2.3、加入 mysql 驱动包3.2.4、配置系统环境变量3.2.4、验证安装是否成功4、Sqoop 基本命令介绍5、Sqoop 数据导入5.1、导入 MySQL 数据到 HDFS5.1.1、普通导入5.1.2、指定分隔符和导入路径5.1.3、导入 where 条件数据5.1.4、导入 Que原创 2021-03-16 18:39:28 · 731 阅读 · 0 评论 -
HBase 与 MapReduce(HDFS <==> HBase)
HBase 与 MapReduce(数据:HDFS <==> HBase)1、业务流程2、HBaseToHDFS2.1、导入依赖2.2、代码实现2.3、jar 包运行3、HDFSToHBase3.1、准备数据3.2、代码实现3.3、jar 包运行1、业务流程为什么需要用 MapReduce 去访问 HBase 的数据?答:加快分析速度和扩展分析能力。MapReduce 访问 HBase 数据作分析一定是在离线分析的场景下应用:2、HBaseToHDFS2.1、导入依赖<?x原创 2021-03-16 15:50:42 · 595 阅读 · 0 评论 -
Hbase Java API 代码开发(CURD,Filter 过滤器)
Hbase Java API 代码开发1、Hbase API 类和数据模型1.1、HBaseAdmin1.2、HBaseConfiguration1.3、HTableDescriptor1.4、HColumnDescriptor1.5、HTable1、Hbase API 类和数据模型几个主要 Hbase API 类和数据模型之间的对应关系:java 类HBase 数据模型HBaseAdmin数据库(DataBase)HBaseConfiguration数据库(DataBa原创 2021-03-12 17:52:58 · 224 阅读 · 0 评论 -
Hbase shell 操作(general、ddl、dml、Filter 过滤器)
Hbase shell 操作(general、ddl、dml、Filter 过滤器)1、进入 Hbase 客户端2、help 命令3、general:普通命令组4、ddl:定义组4.1、列出所有表:list4.2、创建表:create4.3、查看表的详细信息:describe(desc)4.4、修改表的定义:alter4.4.1、增加一列簇4.4.2、删除一列簇4.5、查看表是否存在:exists4.6、表失效与启用:disable、enable4.7、删除表:drop5、dml:管理组5.1、插入数据:p原创 2021-03-11 17:51:32 · 696 阅读 · 2 评论 -
hbase 集群搭建
hbase 集群搭建1、安装步骤1.1、安装 zookeeper 集群1.2、下载/解压 hbase1.3、修改配置文件1.3.1、hbase-env.sh1.3.2、hbase-site.xml1.3.3、regionservers1.3.4、backup-masters1.4、hadoop 配置文件分发 hbase1.5、 hbase 分发安装到各节点1.6、同步时间1.7、 配置环境变量2、集群启动2.1、启动 zookeeper 集群2.2、启动 hdfs 集群2.3、 启动 hbase 集群2.4原创 2021-03-11 11:46:47 · 1972 阅读 · 0 评论 -
Hive 高级应用(四)之 Hive 优化策略
Hive 高级应用(四)之 Hive 优化策略1、Hadoop 框架计算特性2、优化常用手段3、排序选择4、怎样做笛卡尔积5、怎样写 in/exists 语句6、设置合理的 maptask 数量7、小文件合并8、设置合理的 reduceTask 的数量9、合并 MapReduce 操作10、合理利用分桶:Bucketing 和 Sampling11、合理利用分区:Partition12、Join 优化13、Group By 优化14、合理利用文件存储格式15、本地模式执行 MapReduce16、并行化处理原创 2021-03-10 18:10:29 · 432 阅读 · 0 评论 -
Hive 高级应用(三)之 Hive 执行过程实例分析
Hive 高级应用(三)之 Hive 执行过程实例分析1、Hive 执行过程概述1.1、Hive 操作符列表1.2、Hive 编译器的工作职责1.3、优化器类型2、Join2.1、实现过程2.2、具体实现过程3、Group By3.1、具体实现过程4、Distinct4.1、实现过程1、Hive 执行过程概述(1)Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等;(2)操作符 Operator 是 Hive 的最小处理单元原创 2021-03-10 16:06:51 · 356 阅读 · 0 评论 -
Hive 高级应用(二)之 Hive 数据倾斜
Hive 高级应用(二)之数据倾斜1、数据倾斜1.2、Hadoop 框架的特性1.3、主要表现1.4、容易数据倾斜情况1.5、产生数据倾斜的原因1.6、业务场景1.6.1、空值产生的数据倾斜1.6.2、不同数据类型关联产生数据倾斜1.6.3、大小表关联查询产生数据倾斜1、数据倾斜由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。1.2、Hadoop 框架的特性(1)不怕数据大,怕数据倾斜;(2)Jobs 数比较多的作业运行效率相对比较低,如子查询比较多;(3)sum、count、max原创 2021-03-10 15:16:19 · 201 阅读 · 0 评论 -
Hive 高级应用(一)之 Hive shell 操作
Hive 高级应用(一)之 Hive shell 操作1、Hive 命令行2、Hive 参数配置方式2.1、配置文件2.2、命令行参数2.3、参数声明1、Hive 命令行(1)这是 hive 支持的一些命令:Command Descriptionquit Use quit or exit to leave the interactive shell.set key=value Use this to set value of particular configuration variable.原创 2021-03-10 10:02:14 · 432 阅读 · 0 评论 -
Hive 高级操作(五)之 HIVE 特殊分隔符处理
Hive 高级操作(五)之 HIVE 特殊分隔符处理1、hive 读取数据的机制2、使用 RegexSerDe 通过正则表达式来抽取字段3、通过自定义 InputFormat 解决特殊分隔符问题1、hive 读取数据的机制hive 读取数据的机制:(1)首先用 InputFormat <默认是:org.apache.hadoop.mapred.TextInputFormat > 的一个具体实现类读入文件数据,返回一条一条的记录(可以是行,或者是你逻辑中的“行”)。(2)然后利用 SerD原创 2021-03-09 16:25:01 · 1563 阅读 · 0 评论 -
Hive 高级操作(四)之 Hive 自定义函数 UDF
Hive 高级操作(四)之 Hive 自定义函数 UDF1、用户自定义函数2、一个简单的 UDF 示例3、Json 数据解析 UDF 开发3.1、准备 Json 数据3.2、Transform 实现1、用户自定义函数当 Hive 提供的内置函数无法满足业务处理需要时,此时就可以考虑使用用户自定义函数。UDF(user-defined function):作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)。UDAF(用户定义聚集函数 User- Defined Aggregation原创 2021-03-09 14:43:48 · 764 阅读 · 0 评论 -
Hive 高级操作(三)之 Hive 内置函数
Hive 高级操作(三)之 Hive 内置函数1、Hive 内置函数2、测试内置函数3、展示内置函数4、内置函数列表4.1、关系运算4.2、数学运算4.3、逻辑运算4.4、复合类型构造函数4.5、数值计算函数4.6、集合操作函数4.7、类型转换函数4.8、日期函数4.9、条件函数4.10、字符串函数4.11、混合函数4.12、XPath 解析 XML 函数4.13、汇总统计函数(UDAF)4.14、表格生成函数 Table-Generating Functions (UDTF)1、Hive 内置函数内容原创 2021-03-09 11:32:40 · 855 阅读 · 0 评论 -
Hive 高级操作(二)之视图
Hive 高级操作(二·)之视图1、视图1.1、创建视图1.2、查看视图1.3、删除视图1.4、使用视图1、视图和关系型数据库一样,Hive 也提供了视图的功能,不过请注意,Hive 的视图和关系型数据库的数据还是有很大的区别:(1)只有逻辑视图,没有物化视图;(2)视图只能查询,不能 Load/Insert/Update/Delete 数据;(3)视图在创建时候,只是保存了一份元数据,当查询视图的时候,才开始执行视图对应的那些子查询。1.1、创建视图create view view_name原创 2021-03-09 10:31:49 · 603 阅读 · 0 评论 -
Hive 高级操作(一)之数据类型(原子,array,map,struct,union)
Hive 高级操作(一)之数据类型(原子,array,map,struct,union)1、原子数据类型2、复杂数据类型3、示例演示3.1、array3.2、map3.3、struct3.4、union type1、原子数据类型数据类型长度描述TinyInt1 个字节的有符号整数-128~127SmallInt2 个字节的有符号整数-32768~32767Int4 个字节的有符号整数-2147483648~2147483647BigInt8 个字节的原创 2021-03-09 10:25:16 · 1838 阅读 · 0 评论 -
Hive 基本操作(二)DML操作
Hive 基本操作(二)DML操作1、DML 操作1.1、Load 装载数据1.2、Insert 插入数据1.3、Insert 导出数据1.4、Select 查询数据1.5、Hive Join 查询1、DML 操作1.1、Load 装载数据语法结构:LOAD DATA [LOCAL] INPATH 'filepath/uri' [OVERWRITE] INTO TABLE tb_name [PARTITION (partcol1=val1, partcol2=val2 ...)];关键字说明:原创 2021-03-08 16:34:47 · 915 阅读 · 0 评论 -
Hive 基本操作(一)DDL操作
Hive 基本操作(一)DDL操作1、DDL 操作1.1、库操作1.1.1、创建库1.1.2、查看库1.1.3、删除库1.1.4、切换库1.2、表操作1.2.1、创建表1.2.1.1、创建内部表1.2.1.2、创建外部表1.2.1.3、创建分区表1.2.1.3、创建分桶表1.2.1.4、使用 like 关键字拷贝表1.2.2、查看表结构信息1.2.3、修改表1.2.3.1、重命名表1.2.3.2、修改表属性1.2.3.3、修改 SerDe 信息1.2.3.4、增加/删除/改变/替换列1.2.3.5、增加/删原创 2021-03-08 15:00:56 · 2426 阅读 · 0 评论 -
Hive 三种连接方式(CLI、HiveServer2/beeline(常用)、Web UI)及基本命令使用入门
Hive 三种连接方式及基本命令使用入门1、Hive 使用方式,即三种连接方式1.1、CLI1.2、HiveServer2/beeline(常用)1.3、Web UI2、Hive 基本使用(入门)1、Hive 使用方式,即三种连接方式1.1、CLI配置 hive 环境变量后,直接输入命令 hive:[hadoop@hadoop02 ~]$ hive启动成功的话如上图所示,接下来便可以做 hive 相关操作。补充:(1)上面的 hive 命令相当于在启动的时候执行:hive --service原创 2021-03-05 17:46:40 · 10853 阅读 · 1 评论 -
Hive 初始环境搭建
Hive 初始环境搭建1、Hive 安装1.1、内嵌 Derby 版本1.2、外置 MySQL 版本1.2.1、准备好 MySQL1.2.2、修改配置文件 hive-site.xml1.2.3、加入 MySQL 驱动包1.2.4、配置环境变量1.3、验证 Hive 安装1.4、初始化元数据库1.5、启动 Hive 客户端1、Hive 安装1.1、内嵌 Derby 版本(1)上传安装包 apache-hive-2.3.3-bin.tar.gz(源码包:apache-hive-2.3.3-src.tar.原创 2021-03-05 16:58:11 · 385 阅读 · 1 评论 -
Linux rpm 安装 mysql
Linux 在线安装 mysql1、检查是否安装老版本2、在线安装 mysql3、修改 mysql 密码4、配置 mysql4.1、添加编码支持中文4.2、MySQL 远程连接(记得使用 root 账户进行操作,若使用普通用户,那么请修改相应文件夹权限,或配置普通用户 sudo 权限)1、检查是否安装老版本(1)检查以前是否装过 MySQL:rpm -qa|grep -i mysql(2)发现有的话就都卸载:rpm -e --nodeps mysql*(3)删除老版本 mysql 的开发头原创 2021-03-05 16:13:06 · 1336 阅读 · 0 评论 -
Hive 基本概念(特点,架构,数据存储,OLTP,OLAP)
Hive 基本概念(特点,架构,数据存储,OLTP,OLAP)1、Hive 简介1.1、什么是 Hive1.2、为什么使用 Hive1.3、Hive 特点1.4、数据处理的两大级别(OLAP、OLTP)2、Hive 和 RDBMS 的对比3、Hive 架构3.1、用户接口3.2、Thrift Server3.3、元数据存储3.4、Driver:编译器(Compiler),优化器(Optimizer),执行器(Executor)3.5、执行流程4、Hive 的数据存储4.1、内部表、外部表、分区表和 Buck原创 2021-03-05 14:23:14 · 2066 阅读 · 3 评论 -
HDFS 集群的机架感知
HDFS 集群的机架感知1、背景1.1、Hadoop 的设计目的1.2、Hadoop 的设计考虑1.3、副本存放策略2、配置机架感知2.1、修改配置文件 core-site.xml2.2、验证机架感知3、补充3.1、增加 datanode 节点3.2、节点间距离计算4、学习内容1、背景1.1、Hadoop 的设计目的解决海量大文件的处理问题,主要指大数据的存储和计算问题。其中,HDFS 解决数据的存储问题;MapReduce 解决数据的计算问题。1.2、Hadoop 的设计考虑设计分布式的存储和原创 2021-03-05 11:20:19 · 2561 阅读 · 8 评论 -
Hadoop2.7.5 高可用(HA)集群搭建
Hadoop2.7.5 高可用(HA)集群搭建1、Hadoop HA 原理概述2、集群规划3、集群服务器准备4、集群安装4.1、安装 Zookeeper 集群:4.2、安装 hadoop 集群4.2.1、安装 hadoop4.2.2、修改 hadoop-env.sh4.2.3、修改 core-site.xml4.2.4、修改 hdfs-site.xml4.2.5、修改 mapred-site.xml4.2.6、修改 yarn-site.xml4.2.7、修改 slaves4.2.8、分发配置后安装包文件到其原创 2021-03-04 16:44:48 · 559 阅读 · 2 评论 -
Zookeeper 应用案例(二)之分布式共享锁
分布式共享锁1、需求描述2、设计思路3、代码开发1、需求描述在我们自己的分布式业务系统中,可能会存在某种资源,需要被整个系统的各台服务器共享访问,但是只允许一台服务器同时访问。2、设计思路(1)设计多个客户端同时访问同一个数据;(2)为了同一时间只能允许一个客户端上去访问,所以各个客户端取 zookeeper 集群的一个 znode 节点去注册一个临时节点,定下规则,每次都是编号最小的客户端才能去访问;(3)多个客户端同时监听该节点,每次当有子节点被删除时,就都收到通知,然后判断自己的编号是不是原创 2021-03-04 15:20:45 · 176 阅读 · 1 评论 -
Zookeeper 应用案例(一)之服务器上下线动态感知
Zookeeper 应用案例(一)之服务器上下线动态感知1、需求描述2、设计思路3、代码开发3.1、服务器端处理3.2、客户端处理3.3、运行效果1、需求描述某分布式系统中,主节点可以有多台,可以动态上下线。任意一台客户端都能实时感知到主节点服务器的上下线。2、设计思路(1)设计服务器端存入服务器上线,下线的信息,比如都写入到 servers 节点下;(2)设计客户端监听该 servers 节点,获取该服务器集群的在线服务器列表;(3)服务器一上线,就往 zookeeper 文件系统中的一个统原创 2021-03-04 11:43:48 · 544 阅读 · 1 评论 -
Zookeeper 选取机制与工作流程原理解析
Zookeeper 原理解析1、集群角色描述2、ZooKeeper 的选举机制2.1、核心----选举算法,Paxos 算法概述(ZAB 协议)2.2、Basic Paxos 流程2.3、ZooKeeper 的全新集群选主2.4、ZooKeeper 的非全新集群选主3、数据同步4、ZooKeeper 工作流程4.1、Leader 工作流程4.2、Follower 工作流程4.3、Observer 工作流程1、集群角色描述Zookeeper 集群分为三大角色:(1)领导者(Leader);(2)学习者原创 2021-03-03 17:59:28 · 337 阅读 · 3 评论 -
ZooKeeper 集群使用(Cli and JavaAPI)
ZooKeeper 集群使用1、ZooKeeper 集群 cli 使用1、ZooKeeper 集群 cli 使用首先,我们在 zookeeper 安装路径下,可以用命令 bin/zkCli.sh 进入 ZooKeeper 的命令行客户端,如果配置了 zookeeper 环境变量的话,可以在其它路径下直接用命令 zkCli.sh 进入 ZooKeeper 的命令行客户端,这种是直接连接本机的 ZooKeeper 服务器。还有一种方式,可以连接其他的 ZooKeeper 服务器,只需要我们在命令后面接一个原创 2021-03-03 16:10:56 · 270 阅读 · 1 评论 -
ZooKeeper 集群搭建
ZooKeeper 集群搭建1、ZooKeeper 软件安装须知2、具体安装2.1、下载2.2、解压安装到自己的目录2.3、修改配置文件2.4、启动软件,并验证安装是否成功1、ZooKeeper 软件安装须知鉴于 ZooKeeper 本身的特点,服务器集群的节点数推荐设置为奇数台。我这里我规划为三台,分别为 hadoop01,hadoop02,hadoop032、具体安装2.1、下载下载地址:http://mirrors.hust.edu.cn/apache/ZooKeeper/版本号:ZooK原创 2021-03-02 15:12:28 · 512 阅读 · 0 评论 -
ZooKeeper 基础知识
ZooKeeper 基础知识1、CAP 理论2、什么是 Zookeeper3、ZooKeeper 提供了什么3.1、文件系统3.2、监听机制3.3、监听工作原理3.4、ZooKeeper 典型应用场景3.4.1、命名服务3.4.2、配置管理3.4.3、集群管理3.4.4、分布式锁3.4.5、队列管理1、CAP 理论(1)一致性(Consistency)(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)(2)可用性(Availability)(A):原创 2021-03-02 14:37:29 · 235 阅读 · 0 评论 -
HBase 和 Hive 的比较
HBase 和 Hive 的比较1、相同点2、不同点1、相同点HBase 和 Hive 都是架构在 Hadoop 之上,用 HDFS 做底层的数据存储,用 MapReduce 做数据计算。2、不同点(1)Hive 是建立在 Hadoop 之上为了降低 MapReduce 编程复杂度的 ETL 工具;HBase 是为了弥补 Hadoop 对实时操作的缺陷。(2)Hive 表是纯逻辑表,因为 Hive 的本身并不能做数据存储和计算,而是完全依赖 Hadoop;HBase 是物理表,提供了一张超大的原创 2021-03-02 10:37:13 · 1221 阅读 · 0 评论 -
HBase 表结构逻辑视图
HBase 表结构逻辑视图1、HBase 表结构2、行键(RowKey)3、列簇(Column Family)4、时间戳(TimeStamp)5、单元格(Cell)1、HBase 表结构HBase 以表的形式存储数据。表由行和列组成。列划分为若干个列簇 (Column Family)。2、行键(RowKey)与 NoSQL 数据库们一样,rowkey 是用来检索记录的主键。访问 HBase Table 中的行,只有三种方式:**(1)通过单个 row key 访问;(2)通过 row key原创 2021-03-02 10:19:21 · 775 阅读 · 0 评论 -
HBase 数据库介绍
HBase 数据库介绍1、产生背景2、HBase 简介3、HBase 应用场景1、产生背景自 1970 年以来,关系数据库是用于数据存储和维护有关问题的解决方案。大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。Hadoop 使用分布式文件系统,用于存储大数据,并使用 MapReduce 分布式计算来处理。Hadoop 擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理。Hadoop 的限制:Hadoop 只能执行批量处理,并且只以顺序方式访问原创 2021-03-02 10:01:57 · 2425 阅读 · 0 评论 -
hadoop-yarn 概述
hadoop-yarn 概述1、YARN 概述2、原 MapReduce1.x 框架的不足3、新版 YARN 架构的优点4、YARN 的重要概念4.1、ResourceManager4.2、NodeManager4.3、MRAppMaster4.4、Container4.5、ASM4.6、Scheduler5、YARN 架构及各角色职责6、YARN 作业执行流程1、YARN 概述YARN(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序提供服务器运算资源原创 2021-02-26 10:13:20 · 621 阅读 · 1 评论 -
MapReduce 的 Shuffle 机制
MapReduce 的 Shuffle 机制1、概述2、主要流程3、详细流程4、流程图5、MapReduce 超详细执行流程解读1、概述1、MapReduce 中,mapper 阶段处理的数据如何传递给 reducer 阶段,是 MapReduce 框架中最关键的一个流程,这个流程就叫 Shuffle。2、Shuffle: 数据混洗 ——(核心机制:数据分区,排序,局部聚合,缓存,拉取,再合并排序)。3、具体来说:就是将 MapTask 输出的处理结果数据,按照 Partitioner 组件制定的规原创 2021-02-25 14:46:20 · 1089 阅读 · 1 评论 -
MapReduce 常见的编程场景之自定义 InputFormat--小文件合并
MapReduce 常见的编程场景之自定义 InputFormat--小文件合并1、需求2、分析3、实现1、需求无论 HDFS 还是 MapReduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案。2、分析小文件的优化无非以下几种方式:1、 在数据采集的时候,就将小文件或小批数据合成大文件再上传 HDFS;2、 在业务处理之前,在 HDFS 上使用 MapReduce 程序对小文件进行合并;3、 在 MapReduce 处理时,可采用 Combin原创 2021-02-25 11:49:03 · 198 阅读 · 0 评论