网易游戏
一、MapReduce的split和HDFS的block的关系?
1、split是HDFS的逻辑分区,是用来控制Mapper的数量,split既可以比block大也可以比block小,split分了多少个则就有多少个Mapper,当没有指定split的大小时,默认的是block的大小。
2、block是HDFS的物理分区,默认设置是128MB。HDFS会把数据分成不同的block,然后按照集群的副本数,把block复制到不同的datanode。
3、HDFS是主要用来存储大文件的,如果存在大量的小文件的话,应该调节block的大小,避免出现大量的小文件。
4、因为小文件的信息存储在namenode中,会导致namenode的内存非常大,小文件会增加大量的磁盘IO。
5、解决小文件的方法:使用HDFS的sync和append来把小文件合成大文件。
二、MySQL的连接方式?
表的追加:union:a union b会先把a和b的重复记录删除,然后再排序,union all就是简单的把两个表合并。
三、hive中order by和sort by的区别
1、order by对输入做全局排序,只有一个reducer,当输入规模较大时,消耗较长的计算时间。
2、sort by不对全局排序,只保证每个ruducer输出有序。
四、叙述下java的反射机制。
类加载包括加载、验证、准备、初始化、使用、卸载。通过class类的forName(),获得class对象,进行类加载,然后初始化一个新的对象,进行调用相应的方法。
五、Hive的元数据放在那里?
metastore是Hive元数据的集中存放地。metastore包括两部分:服务和后台数据的存储。使用内嵌metastore是Hive入门最简单的方法。
六、问了简历中项目相关的问题。(相关问题数量较多)
七、CDH namenode的备份节点相关问题。
CDH是Hadoop的发型版本,目的就是为了提高Hadoop的可管理性,兼容性,安全性。
CDH的安装方式:cloudera manager 、yum、 rpm、tarball。
八、Python数据类型
1、numbers(数字):int (有符号整型)、long(长整型)、float(浮点型)、complex(复数)
2、string(字符串)
3、list(列表)
4、tuple(元组)
5、dictionary(字典)