当前位置:   article > 正文

大数据开发笔试题(一)_数据开发工程师题目

数据开发工程师题目

1、Oracle 中下列哪个表达式值为 true?(D)
A、null = null
B、’’ = null
C、0 = null
D、以上三个都不为 true

2、Oracle 支持的表分区类型为?(ABD)
A、List
B、Range
C、HashMap
D、复合分区

3、下列对 Oracle 索引的说法正确的是?(AD)
A、索引在 Oracle 中通过 B+ 树存储
B、Oracle 只支持全局索引
C、Oracle 不支持分区索引
D、索引可以提高表的访问速度

4、对于 Oracle 存储过程和函数下列说法错误的是?(CD)
A、函数总是向调用者返回数据,并且一般只返回一个值
B、存储过程不直接返回数据,但可以改变输出参数的值
C、存储过程必须带有输出参数
D、函数不能定义输出参数

5、数据库中的对象包括?(ACD)
A、表
B、权限
C、视图
D、存储过程
在这里插入图片描述
6、Hive 的 sortby 和 orderby 的区别?
orderby 会对输入的数据做全局排序,只有一个 reduce,数据量较大时,很慢。sortby 不是全局排序,只能保证每个 reduce 有序,不能保证全局有序。

7、在 hive 中,什么情况容易出现数据倾斜?怎么解决?
倾斜原因:map 输出数据按 key Hash 的分配到 reduce 中,由于 key 分布不均匀、业务数据本身的特点、建表时考虑不周等原因造成 reduce 上的数据量差异过大。
(1) key 分布不均匀
(2) 业务数据本身的特性
(3) 建表时考虑步骤
(4) 某些 hql 语句本身就存在数据倾斜

解决方案:
(1) 参数调整:hive.map.aggr = true hive.groupby.skewindata = true 有数据倾斜的时候进行负载均衡,当选项设置为 true,生成的查询计划会有两个 MR Job。第一个 MR job 中,Map 的输出结果集合会随机分布到 Reduce 中,每个 Reduce 做部分聚合操作,并输出结果,这样处理的结果时相同的 group by key 有可能被分发到不同的 Reduce 中,从而达到负载均衡的目的;第二个 MR job 再根据预处理的结果按照 Group By Key 分布到 Reduce 中(这个过程可以保证相同的 Group By Key 被分布到同一个 Reduce 中),最后完成最终聚合操作。
(2) SQL 语句调整
A、选用 join key 分布最均匀的表作为驱动表。做好列裁剪和 filter 操作,以达

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/289415
推荐阅读
相关标签
  

闽ICP备14008679号