大数据面试题记录

Posted 男神睛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据面试题记录相关的知识,希望对你有一定的参考价值。

1、为什么要对数据仓库分层?

1、用空间换时间,通过大量的预处理来提升应用系统的用户体现(效率),因此数据仓库会存在大量冗余的数据。
2、如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。
3、通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个黑盒变成了一个白盒,每一层的处理逻辑都相对简单容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。

2、使用过Hive解析JSON串吗?

1、将json以字符串的方式整个入Hive表,然后通过使用UDF函数解析已经导入到hive中的数据,比如使用LATREAL VIEW json_tuple的方法,获取所需要的列名。
2、在导入之前将json拆成各个字段,导入Hive表的数据是已经解析过得。这将需要使用第三方的SerDe

3、sort by 和 order by的区别

order by 会对输入做全局排序,因此只有一个reducer (多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。
sort by 不是全局排序,其在数据进入reducer前完成排序。因此,如果用sort by 进行排序,并且设置mapred.reduce.tasks>1,则sort by 只保证每个reducer的输出有序,不保证全局有序。

以上是关于大数据面试题记录的主要内容,如果未能解决你的问题,请参考以下文章

最强最全面的大数据SQL经典面试题(由31位大佬共同协作完成)

大数据面试题----HIVE的调优及数据倾斜

收藏 | 程序员面试,你必须知道的8大数据结构

大数据高频面试题:HDFS核心高频面试题

吐血整理50家企业真实大数据面试题!!学长实测,真实面试!!快收藏!

面试题--如何渲染几万条数据并不卡住界面