(笔者自己做记录)

1.Hive内外部表的区别
删除表是否影响外部数据
2.Hive如何做到权限管理
hive下可以修改配置后创建用户管理,但是仅仅是为了防止误操而已,如果要真的为了安全操作建议使用

Kerberos
3.Hive的数据倾斜和调优
key分布不均匀造成 去null
调节参数
hive.map.aggr=true
map端聚合,相当于combiner
hive.groupby.skewindata=true
4.Hive文件压缩格式有哪些?压缩效率如何
开启压缩
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set mapred.output.compression.type=BLOCK;

TextFile(压缩方式Gzip,Bzip2 压缩后不支持split)
SequenceFile-<key,value> (NONE,RECORD,BLOCK!。Record)
RCFile(存储方式:数据按行分块,每块按列存储。结合了行存储和列存储的优点)
ORCFile
(GZIP LZO DefaultCodec snappy)
5.说说对桶表的理解
对数据的细化 取模分开存储数据
6.Hive解析hql转化为MR的执行过程

、SemanticAnalyzer的主要分析过程:调用analyzeInternal函数
1)doPhase1过程:主要是将sql语句中涉及到的各种信息存储起来,存到QB中去,供后续调用
2)getMetaData:这个过程主要是获取元数据信息,主要是sql中涉及到的表到元数据的关联
3)genPlan:这是最重要的过程之一,主要是生成算子树(operator tree)
4)optimize:优化,对算子树进行一些优化操作,例如列剪枝等
5)genMapRedTasks:这个步骤是最关键的步骤,将算子树通过一定的规则生成若干相互以来的MR任务

7.Hive的分组排序(row_number()),组内TopN
8.hive有哪些保存元数据的方式,有什么特点
1、Single User Mode:
默认安装hive,hive是使用derby内存数据库保存hive的元数据,这样是不可以并发调用hive的,
这种模式时hive默认的存储模式,。
2、Multi
User Mode:
通过网络连接到一个数据库中,是最经常使用到的模式。假设使用本机mysql服务器存储元数据。这种存储

方式需要在本地运行一个mysql服务器,并作如下配置(需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下

)。
3、Remote Server Mode:
在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据

库。

9.hive能建多个库吗
可以
10.hive的底层怎么与数据库交互的。
11.hive实现统计的查询语句以及与mr的区别
12.对于hive你写过哪些UDF函数,作用是干什么的
13.hive与hbase的区别
明显
14.hive中的压缩格式textfile, sequencefile, rcfile, orc的区别
15.hive的工作原理
16.编写hive自定义函数,实现oracle数据库中的addmonths函数功能,然后封装到hive函数库中。

load data local inpath '文件路径' into table t partition(dt="2016-07-25");

hive自定义函数
udf步骤:
1.写一个类继承(org.apache.hadoop.hive.ql.)UDF
2.覆盖方法eturn evaluate(param...)
3.打jar包,提交hive服务器
4.添加到hive资源里面(add jar jar的路径)--->临时的加入的hive的classpath
5.创建一个临时的函数create temparay function functionName as '自定义类的全类名';
6.执行相应的操作
7[可选]、drop 临时函数
网上有例子:根据生日得到属性和星座

hive 常见面试题的更多相关文章

  1. Hive 常见面试题(一)

    面试题: hive 内部表和外部表的区别? hive 是如何实现分区的? Hive 有哪些方式保存元数据,各有哪些优缺点? hive中order by.distribute by.sort by和cl ...

  2. Hive 常见面试题(二)

    1.Hive行转列和列转行如何实现? 行转列 使用 concat_ws 实现行转列. 例如: select user_id, concat_ws(',',collect_list(order_id)) ...

  3. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

  4. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

  5. 常见面试题之ListView的复用及如何优化

    经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的.这次的 ...

  6. iOS常见面试题汇总

    iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...

  7. JDBC常见面试题

    以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...

  8. Mybatis常见面试题

    Mybatis常见面试题 #{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是 ...

  9. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

随机推荐

  1. POJ 2763

    题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值. #pragma comment(linker, "/STACK:1024000000,10 ...

  2. Oracle top N实现

    在Oracle中实现select top N:由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询. ...

  3. 面试题之spring

    一.Spring的理解 Spring是一个轻量级的容器,非侵入性的框架.最重要的核心概念是IOC,并提供AOP概念的实现方式,提供对持久层,事务的支持,对当前流行的一些框架(Struts,Hibern ...

  4. HTTPS Everywhere – 保障隐私和信息安全的利器

    HTTPS Everywhere 是一款 Chrome 扩展程序,对于支持 HTTPS 的网站默认打开 HTTPS 加密传输来保障信息安全(HTTPS 介绍). HTTPS Everywhere 受到 ...

  5. php访问数据库思维导图

  6. Oracle普通索引,唯一索引,主键的区别

    索引是我们经常使用的一种数据库优化手段,适当的业务操作场景使用适当的索引方案,可以显著的提升系统整体查询性能,当然用户体验也随之提高. 在Oracle中,唯一性索引(Unique Index)是我们经 ...

  7. ResultSet结果集判断是否为空

    目前亲测过能用的一个方法是: if(rs.next())//当前行有内容 { msg2 = "有这个活动!"; } else //rs对象为空表示查无此活动 { msg2 = &q ...

  8. 2016 - 1 - 21 RunloopMode中的Source 与Observer

    一:CFRunLoopSourceRef 1.CFRunLoopSourceRef是事件源(输入源) 2.按照官网文档分为,Source可以分为以下几类: 2.1 Porl - Based Sourc ...

  9. linux基础命令学习(三)Vim使用

    1. # vim 1.txt 命令模式: a i o A I O x X yy dd p G dw de h j k l f H M B a --- append 追加 在光标所在位置后追加一个字符 ...

  10. GSM Sniffing入门之硬件篇

    3个月前,听朋友介绍得知OsmocomBB项目.此前一直以为GSM Sniffing需要价格昂贵的专用设备,但osmocomBB的上手成本:一个25元左右的手机,外加一根USB转TTL的串口线,着实让 ...