什么是hive?
我想对于一项技术或者工具的的定义,没什么会比官方来的更加准确吧。
上图是来自Hive官网的对于hive的定于:
Apache HIve 是一个通过使用SQL语句来帮助存储在分布式系统上的数据更够更加方便的进行读写以及管理的大数据软件。它是为了保存提前准备好的数据而诞生的。人们可以通过命令行或者JDBC驱动来连接hive并且使用它.
好!
现在我划重点:
1.通过SQL语句
2.存储在分布式系统上的数据
3.大数据
4.提前准备好的数据
5.命令行或者JDBC
所以根据官网的定义,以及我自己对hive的认知,来下一个定义:hive是一个数据仓库,它可以通过SQL语句来代替mapreduce(在yarn上执行)对存储在分布式文件系统(hdfs)上的大批量进行计算的工具。
总的来说Hive有以下优缺点:
优点:
1.通过SQL语句操作,使程序员可以快速上手
2.适合大数据计算
3.支持自定义函数
缺点:
1.sql表达能力有限(相比于mysql)
2.不适合实时计算场景、数据挖掘
3.效率比较低(因为是需要执行mapreduce)
4.调优困难
原文:https://www.cnblogs.com/xxfxxf/p/11884717.html