avatar

目录
Hive-进阶

参考:https://www.bilibili.com/video/av65556024/?p=12

Hive常用交互命令

什么时候跑hive?

hive作为离线系统》每天凌晨跑

怎么跑?用定时脚本跑

shell
1
2
3
4
5
6
7
8
9
10
11
- e 执行sql语句
hive -e "select * from xxx"

- f 执行sql脚本
vi hive.hql

show databases;

bin/hive -f ./hive.hql

# 生产环境就是用个调度器定时去执行脚本

Hive 和数据库比较

数据库可以用在 Online 的应用中,但是 Hive 是为数据仓库而设计的。

  • 数据存储位置

    Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。

  • 数据更新

    由于 Hive 是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。因此,Hive
    中不建议对数据的改写,所有的数据都是在加载的时候确定好的。

  • 执行

    Hive 中大多数查询的执行是通过 Hadoop 提供的 MapReduce 来实现的。

  • 执行延迟

    Hive 在查询数据的时候,由于没有索引,需要扫描整个表,因此延迟较高。另外一个导
    致 Hive 执行延迟高的因素是 MapReduce 框架。由于 MapReduce 本身具有较高的延迟,因此在利用 MapReduce 执行 Hive 查询时,也会有较高的延迟。

    相对的,数据库的执行延迟较低。当然,这个低是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive 的并行计算显然能体现出优势。

  • 数据规模

    由于 Hive 建立在集群上并可以利用 MapReduce 进行并行计算,因此可以支持很大规模的数据;

文章作者: Machine
文章链接: https://machine4869.gitee.io/2019/09/12/20190912171151144/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 哑舍
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论