Apache Hive

目录​​​​​​​

数据仓库(DW)

SQL语法分类

Hive 和Hadoop之间的关系(底层是Hadoop Hive将SQL转换为MapReduce)

为什么使用Hive

使用Hadoop MapReduce直接处理数据所面临的问题

使用Hive处理数据的好处

对Hive的理解

Apache Hive--架构图

组件用户接口

元数据存储

Driver驱动程序、包括语法解析器、计划编译器、优化器、执行器

执行引擎

数据仓库(DW)

用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成数据环境。

数仓主要特征

1.面向主题

2.集成性(ETL抽取、转换、加载)

3.非易失性

4.时变性

SQL语法分类

数据定义语言(DDL)和数据操(DML)

DDL语言是我们创建或删除表

CREATE DATABASE -

CREATE TABLE

DML语法进行数据插入、更新、删除、查询

SELETE   UPDATE  DELETE   INSERT

结构化数据是由二维表结构来逻辑表达和实现的数据

Hive 和Hadoop之间的关系(底层是Hadoop Hive将SQL转换为MapReduce)

Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以在存储Hadoop文件中的结构化、半结构化数据映射为一张数据库表,称为HQL语言

Hive核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop集群执行

Hive由FaceBook实现开源

为什么使用Hive

使用Hadoop MapReduce直接处理数据所面临的问题

1.人员学习成本高、需要掌握java语言

2.MapReduce实现复杂查询逻辑开发难度大

使用Hive处理数据的好处

1.操作接口采用SQL语法、提供快速开发的能力(简单容易上手)

2、避免直接写MapReduce,减少开发人员的学习成本

3.支持自定义函数、功能扩展很方便

4.背靠Hadoop,擅长存储分析海量数据

对Hive的理解

1.Hive能将数据文件映射成为一张表、这个映射是指什么?

文件和表之间的对应关系

2.Hive软件本身承担了什么功能职责

将SQL语法转换成MapReduce

Apache Hive--架构图

组件用户接口

包括CLI、JDBC/ODBC。其中,CLI为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC协议,WebGUI是通过浏览器访问Hive

元数据存储

映射关系

Driver驱动程序、包括语法解析器、计划编译器、优化器、执行器

完成HQL查询语句从语法分析、编译、优化以及查询计划生成。生成计划存储在HDFS中,并在随后有执行的引擎调用

执行引擎

HIve本身不直接处理数据文件 MapReduce、Tez、Spark

你可能感兴趣的:(hive,hadoop,数据仓库)