Hive 笔试题

考试时间: 姓名:____________

考试成绩:____________ 考试时长:180 分钟

注意事项:

1. 自主答题,不能参考任何除本试卷外的其它资料。

2. 总成绩共 200 分,共 20 题,每题 10 分,注意条理清楚、简明扼要、重点突出。

1. Hive 的架构设计与运行流程,及其各模块的主要作用是什么,请画出架构图

2. Hive 的数据模型组成,及各组成模块的应用场景,请简要描述

3. Hive 支持的文件格式和压缩格式,及其各自的特点?

4. Hive 内外表的区分方法,及内外表的差异点?

5. Hive 视图如何创建,视图有什么特点,及其应用场景?

6、Hive 常用的 12 个命令,及其作用

7、Hive 常用的 10 个系统函数,及其作用

8、请详细描述将一个有结构的文本文件 student.txt 导入到一个 Hive 表当中的步骤,及其关键字?

9、请简述 udf/udaf/udtf 是什么,各自解决的问题,及典型代表应用场景。

10、udaf 的实现步骤,及其包含的主要方法,及每个方法要解决的问题,并写代码自实现聚合函数 max 函数?

11、 hive 设置参数的方法有哪些?并列举 8 个常用的参数设置?

12、HIVE 数据倾斜的可能原因有哪些?主要解决方法有哪些?

13、数据仓库之数据架构设计图,及每个模块的主要作用?

14、利用 HiveSQL 语句,创建如下两张表:

创建员工基本信息表(EmployeeInfo),字段包括(员工 ID,员工姓名,员工身份证号,性别,年龄,所属部门,岗位,入职公司时间,离职公司时间),分区字段为入职公司时间,其行分隔符为”\n “,字段分隔符为”\t “。其中所属部门包括行政部、财务部、研发部、教学部,其对应岗位包括行政经理、行政专员、财务经理、财务专员、研发工程师、测试工程师、实施工程师、讲师、助教、班主任等,时间类型值如:2018-05-10 11:00:00

创建员工收入表(IncomeInfo),字段包括(员工 ID,员工姓名,收入金额,收入所属

月份,收入类型,收入薪水的时间),分区字段为发放薪水的时间,其中收入类型包括薪资、

奖金、公司福利、罚款四种情况 ; 时间类型值如:2018-05-10 11:00:00。

15、用 HQL 实现,求公司每年的员工费用总支出各是多少,并按年份降序排列?

16、用 HQL 实现,求各部门每年的员工费用总支出各是多少,并按年份降序,按部门的支出升序排列?

17、用 HQL 实现,求各部门历史所有员工费用总支出各是多少,按总支出多少排名降序,遇到值相等情况,不留空位。

18、用 HQL 实现,创建并生成员工薪资收入动态变化表,即员工 ID,员工姓名,员工本月薪资,本月薪资发放时间,员工上月薪资,上月薪资发放时间。分区字段为本月薪资发放时间。

19、用 HQL 实现,薪资涨幅方面,2018 年 5 月份谁的工资涨的最多,谁的涨幅最大?

20、对象二分查找的实现。

有学生基本信息类 Student,包括字段学号,姓名,班级,入学日期,共四个字段。其中学号是 SXXX 的格式,如 S001,S002 等。

现给定 6 个学生对象,如:
(S100,’张一”,”计科 1 班”,20180903),
(”S110”, ”张二”,”计科 1 班”,20180903),
(”S090”, ”张三”,”计科 2 班”,20180830),
(”S080”, ”张四”,”计科 2 班”,20180904),
(”S070”, ”张五”,”计科 2 班”,20180901),
(”S101”, ”张六”,”计科 1 班”,20180902),

求给定学号”S101”,通过对以上对象集进行二分查找后,确定是否在已给定的学生对象中,

若存在,则打印该学生信息,若不存在,则输出”查无此人”。

Hive 笔试题的更多相关文章

  1. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  2. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  3. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  4. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

  5. flhs笔试题-回家上机实践

    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...

  6. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  7. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  8. js作用域之常见笔试题,运行结果题

    笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = ...

  9. 【Android】一道Android OpenGL笔试题

    一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...

随机推荐

  1. 1、maven的下载,安装,配置

    下载 1.maven官方下载地址: http://maven.apache.org/download.cgi 进入官网: 下载各历史版本官方地址: https://archive.apache.org ...

  2. Vue知识整理15:组件注册

    采用局部注册组件: 将代码放在vue的一个实例中,而不是单列申明.

  3. JavaScript基础篇详解

    全部的数据类型: 基本数据类型: undefined Number Boolean null String 复杂数据类型: object ①Undefined: >>>声明但未初始化 ...

  4. 是否被封禁ip或端口的检测网站 ping

    国内的: http://tool.chinaz.com/port (可以检测端口) https://tools.ipip.net/ping.php (貌似不可以检测端口) 国外的: https://w ...

  5. 理解ES6中的Iterator

    一.为什么使用Iterator 我们知道,在ES6中新增了很多的特性,包括Map,Set等新的数据结构,算上数组和对象已经有四种数据集合了,就像数组可以使用forEach,对象可以使用for...in ...

  6. 【MM系列】SAP 物料凭证增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]在SAP里查看数据的方法   前言部 ...

  7. js函数的定义和调用

    函数的定义 函数使用function 声明,后跟一组参数以及函数体,语法如下: function functionName([age0,age1,......argn]){ statements } ...

  8. 005 gcc 的简单使用

    0. 前言 本文主要讲关于 gcc 的几种编译方式 不妨设文件名为 test.c 1. 方法一 $ gcc test.c (Windows OS)编译成功的话,没有回馈,在 test.c 所在的文件夹 ...

  9. Linux cat 多行写入文件防止变量替换

    Linux cat 多行写入文件防止变量替换  问题描述 对多个变量及多行输出到文件,存在变量自动替换,当使用cat<<EOF不想对内容进行变量替换.命令替换.参数展开等 问题解决 转义特 ...

  10. SQL SERVER中求上月、本月和下月的第一天和最后一天[转]

    --上月的第一天 ),,,) ,,) --上月的最后一天 ),,,)),)+' 23:59:59' ,,)) --本月的第一天 ),,) ),)') --本月的最后一天 ),,,,)),)+' 23: ...