Hadoop基础

Hadoop相关基础学习
学习转载自:https://www.cnblogs.com/binarylei/p/8903601.html
https://blog.csdn.net/yuan_xw/article/details/50003197

Hive的基础

定义:Hive是基于Hadoop的数据仓库工具,使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。
解决的问题:
1、hadoop学习成本高
与Hadoop的关系:
Hadoop相关基础学习
架构:
Hadoop相关基础学习
HiveQL 通过命令行或者客户端提交,经过 Compiler 编译器,运用 MetaStore 中的元数 据进行类型检测和语法分析,生成一个逻辑方案(Logical Plan),然后通过的优化处理,产生 一个 MapReduce 任务。
1、用户接口
shell/CLI:终端命令行,采用交互形式使用 Hive 命令行与 Hive 进行交互
jdbc/odbc:是 Hive 的基于 JDBC 操作提供的客户端
webUI:通过浏览器访问 Hive
2、跨语言服务
thrift server 提供了一种能力,让用户可以使用多种不同的语言来操纵hive
3、底层的Driver
驱动器Driver,编译器Compiler,优化器Optimizer,执行器Executor
Driver 组件完成 HQL 查询语句从词法分析,语法分析,编译,优化,以及生成逻辑执行 计划的生成。生成的逻辑执行计划存储在 HDFS 中,并随后由 MapReduce 调用执行
Hive 的核心是驱动引擎, 驱动引擎由四部分组成:
    (1) 解释器:解释器的作用是将 HiveSQL 语句转换为抽象语法树(AST)
    (2) 编译器:编译器是将语法树编译为逻辑执行计划
    (3) 优化器:优化器是对逻辑执行计划进行优化
    (4) 执行器:执行器是调用底层的运行框架执行逻辑执行计划
4、元数据存储系统
Hive 中的元数据通常包括:表的名字,表的列和分区及其属性,表的属性(内部表和 外部表),表的数据所在目录。
Metastore 默认存在自带的 Derby 数据库中。缺点就是不适合多用户操作,并且数据存 储目录不固定。数据库跟着 Hive 走,极度不方便管理
解决方案:通常存我们自己创建的 MySQL 库(本地 或 远程)
Hive 和 MySQL 之间通过 MetaStore 服务交互

转载自:https://www.cnblogs.com/qingyunzong/p/8707885.html

Hbase的基础

定义:大数据库,支持读写
表结构解析:
Hadoop相关基础学习
1、Rowkey:主键(唯一区分一行数据)
2、ColumnFamily:列族(包含多个列)
Hbase表的创建的时候就必须指定列族。就像关系型数据库创建的时候必须指定具体的列是一样的。
3、TimeStamp:版本控制
TimeStamp对Hbase来说至关重要,因为它是实现Hbase多版本的关键。在Hbase中使用不同的timestame来标识相同rowkey行对应的不通版本的数据。
4、单元格(Cell)
由{rowkey, column( = + ), version} 唯一确定的单元。 Cell 中的数据是没有类型的,全部是字节码形式存贮。

更多学习可参照:https://www.cnblogs.com/qingyunzong/

相关文章:

  • 2021-12-06
  • 2021-07-07
  • 2022-12-23
  • 2021-10-28
  • 2021-08-08
  • 2021-07-15
  • 2022-12-23
猜你喜欢
  • 2021-11-13
  • 2021-06-20
  • 2022-12-23
  • 2021-08-24
  • 2021-11-28
  • 2022-12-23
相关资源
相似解决方案