Hive读书笔记(Hadoop 生态系统)

Hive是构建在hadoop上的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,也急速hi数据提取转化加载(ETL),并提供简单的SQL查询功能,称为HQL(这边要和Hibernate区别一下),允许熟悉SQL的用户查询数据。它是工作在thrift上的,控制分隔符也允许用户指定数据格式。

Hive的特点

支持索引,加快数据查询。

有不同的存储类型,如HBase中的文件、纯文本文件

将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间

可以直接使用存储在Hadoop文件系统中的数据

内置大量用户函数UDF来操作时间、字符串和其他的数据挖掘工具,支持用户扩展UDF函数来 完成内置函数无法实现的操作

类SQL的查询方式,将SQL查询转换为MapReduce的Job在Hadoop集群上执行。

Hive的缺点

在静态处理的Hadoop上执行延迟高,作业提交和调度开销大,有分钟集的延迟,因此不适合需要低延迟的应用,比如练级事务处理(OLTP)

其中HIVE和hadoop之间的关系

Hive读书笔记(Hadoop 生态系统)_第1张图片

Hive就是能够将SQL语句转换成MapReduce需要的语法,HQL语句是遵从Map和Reduce规则的语句,能够被hadoop所识别。

Hive读书笔记(Hadoop 生态系统)_第2张图片

Hive的架构如上图所示,包含用户访问接口(CLI、JDBC/ODBC、WEB GUI和Thrift Server)元数据存储(Metastore),驱动组件(编译,优化,执行)。

用户访问接口:用户交互Hive数据仓库的工具接口。

CLI(command line interface)命令行接口。

Thrift Server可以用不同语言调用Hive接口

HWI(Hive web interface)提供通过网页访问Hive提供的服务

Metastore与Hive驱动互联方式:1.集成模式 2.远程模式

主要用来存储Hive中的元数据,一般使用Mysql或者Derby数据库。

驱动组件包括编译器、优化器和执行引擎,分别完成词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中并在虽有由MapperReduce调用执行。

你可能感兴趣的:(hadoop学习)