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”,通过对以上对象集进行二分查找后,确定是否在已给定的学生对象中,

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

原文地址:https://www.cnblogs.com/wqbin/p/11107417.html

时间: 2024-11-13 03:48:57

Hive 笔试题的相关文章

【转】嵌入式软件工程师经典笔试题

嵌入式软件工程师经典笔试题 > 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3).

腾讯web前端开发工程师笔试题及答案

1. 如何实现事件委托? 首先要知道什么是事件委托. 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响. 就像下面这段代码: <!DOCTYPE HTML><html><head><meta charset="utf-8" /><ti

ThoughtWorks笔试题之Merchant&#39;s Guide To The Galaxy解析

一.背景 在某网站上看到ThoughtWorks在武汉招人,待遇在本地还算不错,就投递了简历.第二天HR就打开电话,基本了解了一下情况(工作环境不错,男人妹子比例:1:1,双休,六险一金,满一年年假15天,病假8天,月薪1W--2W).然后立马收到一封:Coding Assignment的笔试题目.网上搜索了一下,发现这个公司还是挺大的,公司面试流程是出了名的繁杂和苛刻.据说有8轮:电话面试=>笔试=>Homework=>结对编程(中午管饭)=>技术面试=>PM面试=>

java各公司笔试题集1

IBM笔试题 注:IBM笔试题一小时之内完成,题目全部用英文描述,这里用中文表述 一.名词解释 1.Eclipse 2.J2EE 3.EJB 4.Ajax 5.Web service 二.找出以下代码问题 public class test{ public void print(String str){ char[] s=str: } } public class a{ public static void main(String [] args){ puts() } } 三.写出以下输出 pu

腾讯笔试题:满二叉排序树,任给3个子节点,找他们最大的公共父节点

腾讯笔试题出现了和这个类似的题目,没做出来,现在来好好解决这个问题吧,先从基本的开始. 先吐槽一下:感觉算法设计什么的,真的超级难,也许是我头脑太笨,转不过弯来吧,呵呵. 题目是这样的:一棵满二叉排序树,有K层,节点的值依次为 1~2k-1.现在告诉你树的高度是4层,给定你3个节点,比如9,11, 13,那么最大的公共父节点是12. 现在想起来这题我已经想出来一半了呀,但是大概人在紧张的时候大脑会思维短路,跳不出原有的思维陷阱.想法是这样的: 1. 首先是从根节点开始,如果给的三个叶节点的值其中

2017CVTE笔试题

下面是凭记忆整理的2017CVTE校招笔试题,基本上全都是我不会或很模糊的题,为了更好突出重点我以问答题的形式来描述题目. 1. 中序遍历是属于层次遍历.广度优先遍历.深度优先遍历中的哪一种? 答:层次遍历是指一层一层的遍历树中的节点,广度优先遍历是指遍历完它所有的兄弟节点后再开始遍历其孩子节点,因此层次遍历也属于广度优先遍历.深度优先遍历就是顺着节点的孩子节点一直往下搜索,直到没有孩子节点时才开始搜索叶子节点,常见的前序遍历.中序遍历.后序遍历就是属于深度优先遍历. 2. 产生死锁的4个条件,

c++笔试题贪吃蛇问题

贪吃蛇 现在有一个N*M(N,M=100)的方形矩形,在这个矩形的每一个方格上都放有一个随机值,一条可爱的小蛇从矩形的 左上角开始出发,每次移动都只能移动一格,向右或向下,而每到达一格贪吃的小蛇都会吧该位置上的值吃个一干二净,直到到达右下角时停止.而贪吃的小蛇不怕撑死,它只想吃到最多,并输出路径. #include <iostream> #include<string> #include <cstring> #include<vector> #include

多线程关于腾讯笔试题

今天在头条上看到一道据说是腾讯的笔试题,闲来无事,准备验证一下! 题目如下: 有一个变量int a=0:两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()? 根据我的理解答案不唯一,最大是两百,最小是2吧.直接上代码: class MyThread implements Runnable { static volatile long i = 0; public void run() { for (int m = 0; m < 100; m++) { i++; } } }; p

DP - 2016网易杭研笔试题A

2016网易杭研笔试题A Problem's Link ---------------------------------------------------------------------------- Mean: 有一个边长为n的立方体,内部的每一个小立方体内有一个数字.如果取了当前这个小立方体,则小立方体的: 1.上下相邻两层将会消失; 2.前后相邻两列将会消失; 3.左右相邻两个将会消失; 找出一种取法,使得取到的数的sum最大,输出sum. analyse: 现场面试时挂在这题上了