hive及hbase常见问题汇总

2018.12.4
1.hive中sort by与order by的区别
sort by是分组排序,order by是全局排序。

2.hive与mysql的区别
回答思路:hive背景(原理、本质)–>两者操作、本质的差别–>读写差别–>其它差别。
Hive的诞生背景:学mysql的也想入门大数据,但又不会java,于是hive就诞生了。Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表。本质是将HQL语句转化为MR程序。
hive总体来说操作等方面和MySQL没有太大差别。但是本质却有差别,Hive注重联机分析的处理,mysql注重事务的处理。Hive注重的是分析,mysql注重的是处理。
MySQL在写的时候检查字段,hive在读的时候检查字段。所以在新增数据时,hive比较快,只需要直接load就行,而MySQL需要先检查字段。
hive与mysql的其它差别如下:
1)数据存储位置:Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。
2)执行:Hive 中大多数查询的执行是通过 Hadoop 提供的 MapReduce 来实现的。而数据库通常有自己的执行引擎。
3)执行延迟:hive高延迟,mysql低延迟。
4)可扩展性:hive的可扩展性高,而数据库由于ACID语义限制,扩展性有限。
5)数据规模:hive可以支持很大规模的数据,数据库可以支持的数据规模较小。

3.hive内部表和外部表的 区别
未被external修饰的是内部表(managed table),被external修饰的为外部表(external table)。
区别:
内部表数据由Hive自身管理,外部表数据由HDFS管理。
删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除。
对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值