hive相关问题

1.表述hive和hadoop的关系:

  hive存储数据实在hdfs上,hive计算的底层使用的mapreduce,执行的程序运行在yarn上

2.hive的内部表和外部表的区别:

  内部表删除数据会把元数据和数据都删除

  外部表只删除元数据不会删除存储在hdfs上的数据

3.hive创建表有几种方式,分别是哪几种:

  有3中,分别为:create table 表名;create table 表名 as select  .....from ....;create table 表名 like 表名;

4.hive向表中装在数据的方式,分别为:

  有3种。分别为:load data 。。。。。。;insert overwrite table。。。;insert 插入方式。。。。

5.hive中有几种排序方式:

  4种。

    order by:全局排序;

    sort by:对每一个Reduce内部排序,对全局没有排序;

    distribute by:对数据进行分区,通常接合sort by进行使用

    cluster by:当distribute by 和sort by字段相同时,可以使用cluster by

6.描述hive中实现UDF的步骤:

    继承org.apache.hadoop.hive.ql.UDF,需要实现evaluate函数,编写代码

    打包上传

    加载架包 :add jar /home/lan/jar/udflower.jar;

    注册临时函数:create temporary function my_lower as 'com.udf.org.LowerUDF';

    使用

7.通过什么命令可以查看hive执行计划,即可以转化成几个MapReduce任务?

  explain select * from emp;

8.简单简述一下hive的优化方案:

  a.FetchTack(抓取任务):直接抓取数据出来,在配置文件中可以设置hive-default.xml.tmplate

  b.大表拆分成小表

  c.分区表

  d.数据的存储格式(textfile/orcfile/qarquet)

  e.sql优化

9.hive产生数据倾斜的原因和解决方法:

  产生数据倾斜的原因:

    1.key分布不均匀

    2.业务数据本身的特性

    3.某些SQL语句本身就有数据倾斜

  解决方案:

    1.调节参数

    2.调节sql语句

10.对桶表的理解:

  就是对hive的进一步细化和组织成桶,对一个表或者分区进行细化。

 

11.实例:

汽车销售实例:

 

 

  

 

  

  

 

 

  

 

posted @ 2018-01-17 21:16  光辉蝈蝈  阅读(192)  评论(0编辑  收藏  举报