全部课程
数据库之Hive概论、架构
发布时间: 2023-04-14
Hive是一个建立在Hadoop上的数据仓库框架,最初,Hive由Facebook开发,后端由Apache软件基金会移交,并作为Apache的一个开源项目。
Hive是一个基于Hadoop的数据仓库工具,它将结构化的数据文件映射到数据库表中并提供类似SQL的查询功能。
Hive它可以存储非常大的数据集,可以直接访问存储在Apache HDFS或其他数据存储系统(如Apache HBase)的文件。
Hive支持MapReduce、Spark、Tez这三种分布式计算引擎。
Hive是建立在Hadoop上的数据仓库基础架构,它提供了一系列的工具,可以存储、查询、分析存储在分布式存储系统中的大规模数据集。Hive定义了简单的类SQL查询语言,通过底层的计算引擎,将SQL转为具体的计算任务进行执行。
客户端:写类SQL语句
Hive驱动器:解析、优化SQL
计算引擎:通过计算引擎来执行SQL
数据存储:存储源数据和结果数据
MapReduce
它将计算分为两个阶段,分别为Map和Reduce。对于应用来说,需要想办法将应用拆分为多个map、reduce,以完成一个完整的算法。
MapReduce整个计算过程会不断重复的往磁盘里读写中间结果。导致计算速度比较慢,效率比较低。
Tez
把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大DAG任务,减少了Map/Reduce之间的文件存储。
Spark
Apache Spark是一个快速的,多用途的集群计算系统,相对于Hadoop MapReduce将中间结果保存在磁盘中,Spark使用了内存保存中间结果,能在数据尚未写入硬盘时在内存中进行计算,同时Spark提供SQL支持。 Spark 实现了一种叫RDDs的DAG执行引擎,其数据缓存在内存中可以进行迭代处理。
使用的是Hive+Spark计算引擎
上一篇: linux命令之rpm
下一篇: linux vi命令的用法