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. 测开之路一百四十九:jinja2模板之宏

    jinja2是python的模板引擎, 在写python web使用的过程中,macro可以节省大量的代码 比如上一篇的渲染页面 <!DOCTYPE html><html lang= ...

  2. oracle-SYSTEM表空间的备份与恢复

    oracle-SYSTEM表空间的备份与恢复 这一篇在介绍备份及恢复数据文件的方法时,以备份和重做日志(包括归档日志和在线日志)没有丢失为前提 所谓关键数据文件:system表空间的数据文件与参数un ...

  3. Double类型的数值 在写入excel时 如何去掉 科学计算法的 后面数值+ E的 情况

    Double start = 20190724100000.000; 写入excel时 是 201907E+13 但想要输出的是 20190724100000 这种格式 Java在java.math包 ...

  4. 红帽学习笔记[RHCSA] 第二课[文件、目录、相关命令]

    第二课 常用的目录结构与用途 / 根目录 /boot 存储的是系统起动时的信息和内核等 /dev 存储的是设备文件 /etc 存储的是系统的配置文件 /root 存储的是root用户的家目录 /hom ...

  5. JavaScript event对象clientX,offsetX,screenX异同

    event对象是JavaScript中最重要的对象之一,他代表了各种事件的状态,在各种事件的事件处理中经常用到,比如键盘活动.鼠标活动等等,其中有几个对象官方说的比较模糊,很难理解,这里有必要通俗化的 ...

  6. 又是图论.jpg

    BZOJ 2200 道路和航线重讲ww: FJ 正在一个新的销售区域对他的牛奶销售方案进行调查.他想把牛奶送到 T 个城镇 (1 ≤ T ≤ 25000),编号为 1 到 T.这些城镇之间通过 R 条 ...

  7. 正斜杠"/"与反斜杠"\"

    刚开始做前端,发现前端路径都用正斜杠"/"与Windows下路径定义完全不同 查了一下资料总结如下: Windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统 ...

  8. Windows 运行时加载动态库

    下面是一个运行时加载nvcuda.dll,并检测当前驱动版本最大支持的CUDA版本的例子. #include "cuda.h" #include <stdio.h> # ...

  9. 小白学Python(19): Pyinstaller 生成 exe 文件

    python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装 ...

  10. nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG

    需求描述,由于工作的需要,需要将原本用于1280 720的网页改为1920 1080的网页(电视端页面).需求可以拆分为两部分,代码部分的修改以及图片的修改.在代码部分,需要将所有位置以及大小相关的值 ...