Hadoop开发过程中使用的算法及应用场景
问题分析
考官考核的主要是面试人员对算法是否有了解,以及对Hadoop运用的熟练度。
核心问题讲解
- 单词计数
- 数据去重
- 排序:按某个Key进行升序或降序排列
- TopN:对源数据中所有数据进行排序,取出前N哥数据
- 选择:关系代数基本操作再现
- 投影:关系代数基本操作再现
- 分组:Group By XXXX
- 多表连接
- 单表关联
问题扩展
MapReduce:写Mapreduce进行数据处理,需要利用java、python等语言进行开发调试,如果没有一项技术(如 Java)基础,几乎不可能学会 MapReduce。
Hive:Hive 构建于传统的数据库和数据仓库理念之上。它对待数据的方式就像是它有一个基于 SQL 或基于架构的结构。Apache Hive提供了一种更具体和更高级的语言,通过运行Hadoop作业来查询数据,而不是直接编写脚本来逐步操作Hadoop上的几个MapReduce作业。Hive的初步设计思路在于提供与SQL类似的使用体验,开发人员只需要掌握Sql相关的知识就可以使用。
结合项目中使用
在大数据的复杂统计分析中,可以使用Hive的SQL功能来便捷的实现不同算法,降低入门难度,提高研发效率。