某某证券大数据开发工程师招聘笔试题
一、基础知识(单选题,每题1分,共10分)
1、实现两个远程主机之间的文件复制是用 ( D ) .
A . mv B . cp C . cut D. scp
2、一个IP地址是由网络地址和 ( D ) 两部分组成.
A .广播地址 B .多址地址 C .主机地址 D .子网掩码
3、网络中的任何一台计算机必须有一个地址,而且 ( B ) .
A、 不同网络中的两台计算机的地址不允许重复
B、 同一个网络中的两台计算机的地址不允许重复
C、 同一个网络中的两台針算机的地址允许重复
4、下面Telnet使用不正确的是 ( C ).
A . telnet holly (主机名) B . telnet 192.38.7.16 80
C . telnet 192.168.1.1:80 D . telnet www.sina.com
5、 一旦发现正在使用的计算机有感染病毒的特征,首先应立即釆取的措施是一 ( C ).
A. 重启 B.关机 C.网络隔离 D.杀毒
6、 对于运行在MapReduce平台上的应用程序,此应用所依赖的jar包会被放在 ( A ).
A、 服务器本地
B、 Hive
C、 HDFS
D、 DB
7、在Spark中,关于广播变量说法错误的是 ( A ).
A、 广播变量在每个Task中保留一份
B、 广播变量在每个Executor中保留一份
C、 广播变量是只读的
D、 广播变量通过SparkContext. boradcast ()方法生成
8、Spark应用的计算逻辑会被拆解成DAG,这个解析操作由 ( D ) 功能模块完成。
A. Client B. Application Master C.Executor D.Driver
9、Hive中的元数据不包括 ( B )
A.表的名字 B.表的外键 C.表的列 D.分区及其属性
10、在如下场景下,最频繁的査询场景是基于客户号査询每个月、每半年的历史交易流水。 以下哪个HBase的rowkey设计是最优的 ( B ) 。
A、 姓名+客户号
B、 日期+客户号
C、 客户号+日期
D、 客户号+姓名
二、基础知识(填空题,每题1分,共10分)
1、 强制杀死hadoop job的命令是 yarn application -list yarn application -kill applicationID
hadoop job -list hadoop job -kill jobID
2、 删除hdfs /tmp/aaa路径下的所有文件的命令是 hdfs dfs -rm -f /tmp/aaa/*
3、 査看hive表对应hdfs文件位置的命令是 show create table hive表名
4、 hdfs判断文件/tmp/aa是否存在的命令式 hdfs dfs -ls /tmp
5、 hive执行本地/tmp/aa. sql脚本文件的命令式 hive -f /tmp/aa.sql
6、 hadoop中job和task之间的关系是 一个mr程序就是一个job,一个job中又有一个或多个task,task有maptask和reducetask
7、 spark stage的数量由 是由每个DAG中的RDD间的宽依赖 确定。
8、 hive job 的map task的数量由 是由文件切片的数量 确定。
9、 hive查看分区表a分区的命令是 show partitions a
10、hbase框架强依赖于大数据哪个组件 hdfs和zookeeper
三、数据库部分(简答题,共25分)
1、说一说drop、delete、truncate的差异,在哪种场景下使用对应操作,各自优劣是什么? (5分)
drop 删除表结构和表数据 drop table 表名
delete 删除表数据 delete from 表名where 来控制删除数据的范围
truncate 清空表中的数据 truncate table 表名
速度drop > truncate > delete
2.请用hiveQL 对如下表数据进行统计. (5分)
- 表数据内容如下
月份 | 交易金额 |
---|---|
1 | 100 |
2 | 200 |
3 | 100 |
4 | 200 |
… | … |
2)要求的统计效果如下:
月份 | 交易金额 |
---|---|
1 | 100 |
2 | 300 |
3 | 400 |
4 | 600 |
… | … |
select
`月份`,
sum(`交易金额`) over(order by `月份` rows between unbounded preceding and current row) as '交易金额'
from score
;
3.请用HiveQL对如下表数据进行统计. (5 分)
原数据表
A | B | C |
---|---|---|
1 | 0.5 | 9 |
0.9 | 1.5 | 2 |
3 | 0.7 | 0.8 |
4 | 3 | 4 |
0.01 | 80 | 1 |
100 | 0.92 | 5 |
0.7 | 25% | 0 |
统计这个表每列的数字大于等于1的这个数.
结果如下:
A | B | C |
---|---|---|
4 | 3 | 4 |
select
sum( case when A >=1 then 1 else 0 end ) as a ,
sum( case when B >=1 && B!='25%' then 1 else 0 end ) as b,
sum( case when C >=1 then 1 else 0 end ) as c
from tmp
;
4.现在需要统计公司某年度每个分支网点,按客户类型(个人与机构) 分别获取交易量排名前十名的账号.请您任意设计不少于2张表,并写出查询语句.( 10分 )
四,大数据部分(筒答题,共20分)
1.hadoop的三大核心组件是什么?毎个组件郁有什么功能?(5分)
hdfs 分布式文件存储系统
mapreduce 分布式计算框架
yarn 分布式资源管理框架
2.Hive的UDF, UDAF, UDTF有什么区别?各自适用于哪些应用场景?(5分)
UDF 一对一 输入一条 然后经过我们自定义的逻辑处理后,输出处理结果数据一条
UDAF 多对一 适用于像sum, avg, max这种函数类型的操做逻辑.
UDTF 一对多 应用场景不多