Hive简单介绍

2020-11-06 19:30 Python面面观

什么是 Hive?

Hive 是基于 Hadoop 的一个数据仓库工具,可以将 HDFS 中结构化的数据文件映射为一张表,并提供类 SQL 查询功能,本质是将 HQL 转化为 mapreduce 程序。

mapreduce 理解

mapreduce 数据以一条记录为单位经过 map 方法映射成 KV,相同的 key 为一组,这一组数据用一次 reduce 方法,在方法内迭代计算一组数据。

Hive 与传统数据库比较


HiveRDBMS
查询语言HQLSQL
数据存储HDFS本地文件或者块设备
执行MapReduceExcutor
执行延迟
处理数据规模
索引
数据更新不支持支持


Hive 优缺点

优点:

  • 简单容易上手:提供了类 SQL 查询语言 HQL;

  • 可扩展:为超大数据集设计了计算/扩展能力(MR 作为计算引擎,HDFS 作为存储系统)。一般情况下不需要重启服务 Hive 可以自由的扩展集群的规模;

  • 提供统一的元数据管理 ;

  • 延展性:Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数  ;

  • 容错:良好的容错性,节点出现问题 SQL 仍可完成执行。


缺点:

  • hive 的 HQL 表达能力有限。迭代式算法无法表达,比如 pagerank;数据挖掘方面不擅长,比如kmeans;

  • hive 的效率比较低。hive 自动生成的 mapreduce 作业,通常情况下不够智能化;hive 调优比较困难,粒度较粗。





本文章转载自公众号:gh_cb58a6829095

首页 - Python 相关的更多文章: