每日三问1-11(hive相关)

Posted 女菜鸟成长记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日三问1-11(hive相关)相关的知识,希望对你有一定的参考价值。

QUESTION ONE

  • 在hive中何时知道有数据与模式不匹配?

ANSWER

  • 只有在查询的时候才会知道。通常通过查询为缺失字段返回的值NULL才知道存在不匹配的行(发出一个简单的select语句来查询表中的若干行数据)

  • 由于加载操作就是文件系统中文件的移动或者文件重命名,因此执行速度很快。即使是管托表(external table),Hive也不会检查表目录中的文件是否符合为表所声明的模式





QUESTION TWO

  • 将表或者分区组织成桶(bucket)的原因(好处、效果)?

ANSWER

  • 桶为表加上了额外的结构,Hive在处理有些查询的时候可以利用这个结构,获得更高的查询处理效率。(连接两个在相同列上划分了桶的表,可以使用map端连接【map-site-join】高效地实现)

  • 使得取样(sampling)更高效(在处理大规模数据集,开发和修改查询的阶段,在数据集的一小部分数据进行试运行查询,会带来很多方便)





QUESITON THREE

  • Spark SQL 和在 HIve 中使用spark执行引擎是一个概念吗?

ANSWER

  • 完全不一样

  • Spark SQL 是一种新兴的SQL引擎,它只在某种程度上提供与Hive的兼容;在Hive中使用spark引擎即Hive是基于Spark的,可以提供Hive的所有功能,因为本身隶属于Hive项目

  • Hive的执行引擎:MapReduce、Apache Tez、Spark(开发中)




PS :以上总结于第四版Hadoop权威指南


以上是关于每日三问1-11(hive相关)的主要内容,如果未能解决你的问题,请参考以下文章

Hive相关的简介

Hive相关优化

Hive 之表的种类以及相关操作

删除与分区相关的hdfs文件后无法联系hive表分区

Hive与MapReduce相关排序及自定义UDF函数

java Hive相关说明