摘要:
# 1. Hive 概述 ## 1.1 什么是 Hive? Apache Hive 是一款**建立在 Hadoop 之上的开源数据仓库工具**,可以将存储在 Hadoop 文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似 SQL 的查询模型,称为 Hive 查询语言(HQL) 阅读全文
摘要:
# 1. 数据仓库 数据仓库(Data Warehouse,简称数仓、DW)是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。 数据仓库本身并不“生产”任何数据,其数据来源于不同外部系统;同时数据仓库自身也不需 阅读全文
摘要:
# 1. YARN 应用开发流程 YARN 作为通用的资源管理和任务调度平台。理论上,任何类型的程序只要符合规范就可以申请在 YARN 上运行。默认 YARN 实现了 MapReduce 程序的运行支持。 所谓的 YARN 应用开发指的就是如何让自己的程序也可以根据规范在 YARN 申请资源运行。通 阅读全文
摘要:
# 1. YARN 命令 YARN 命令 `${HADOOP_HOME}/bin/yarn` 在不带任何参数的情况下运行 yarn 脚本会打印所有命令的描述,命令分为用户命令和管理命令。 ```sh $ yarn Usage: yarn [OPTIONS] SUBCOMMAND [SUBCOMMAN 阅读全文
摘要:
# 1. 框架概述 ## 1.1 发展简史 数据、程序、运算资源(内存、CPU)三者组在一起,完成了数据的计算处理过程。在单机环境下,这些都不是太大问题。为了应对海量数据的场景,Hadoop 出现并提供了分而治之的分布式处理思想。通过对 Hadoop 版本演进的简单回顾,可以让我们知道 YARN 的 阅读全文
摘要:
# 1. MR 性能优化概述 Hadoop MapReduce 源自于 Google 的 MapReduce 论文,是 Google MapReduce 开源版本实现。MapReduce 是一个分布式应用框架。旨在通过将任务划分来并行处理大量数据,解决海量数据计算问题。 ## 1.1 优缺点及应用场 阅读全文
摘要:
# 1. Job 提交源码追踪 ## 1.1 MR 程序入口方法 作为使用 Java 语言编写的 MapReduce 程序,其入口方法为 main 方法。在 main 方法中,使用了 ToolRunner 启动运行了 MapReduce 客户端主类,其逻辑实现定义在 run 方法中。 ```java 阅读全文