苏宁大数据面试题
1. hadoop 使用什么版本,CDH版本号,是5.3.6 。hadoop的版本是2.72,记住cdh的版本号和hadoop版本号不一样。
2. flume是单节点采集数据还是多节点采集数据?flume是自定义框架还是用官方提供的框架?官方框架开发中有什么问题吗?
flume是多节点采集数据,框架用的是官方的框架,基于官网进行配置。官网提供的flume会出现丢包的情况,但是数据量不是很大的情况下,我们没有考虑丢包这个问题。
3. Flume采集数据时如果出现了数据拥堵应该怎么处理?
4. Flume开发中主要的source源头?
1. Avro Source监听AVRO端口来接受来自外部AVRO客户端的事件流。利用Avro Source可以实现多级流动、扇出流、扇入流等效果。另外也可以接受通过flume提供的Avro客户端发送的日志信息。
2. Spooling Directory Source这个Source允许你将将要收集的数据放置到"自动搜集"目录中。这个Source将监视该目录,并将解析新文件的出现。事件处理逻辑是可插拔的,当一个文件被完全读入通道,它会被重命名或可选的直接删除。
3.NetCat Source一个NetCat Source用来监听一个指定端口,并将接收到的数据的每一行转换为一个事件。
4.HTTP Source:HTTP Source接受HTTP的GET和POST请求作为Flume的事件,其中GET方式应该只用于试验。该Source需要提供一个可插拔的"处理器"来将请求转换为事件对象,这个处理器必须实现HTTPSourceHandler接口,该处理器接受一个 HttpServletRequest对象,并返回一个Flume Envent对象集合。从一个HTTP请求中得到的事件将在一个事务中提交到通道中。因此允许像文件通道那样对通道提高效率。如果处理器抛出一个异常,Source将会返回一个400的HTTP状态码。如果通道已满,无法再将Event加入Channel,则Source返回503的HTTP状态码,表示暂时不可用。要注意的是,放置到自动搜集目录下的文件不能修改,如果修改,则flume会报错。另外,也不能产生重名的文件,如果有重名的文件被放置进来,则flume会报错。
5. 定时任务用什么,如果hive出现任务失败了怎么办?
这个可以用oozie用来监控任务调度,如果任务失败可以在oozie端发现,并且重新启动任务。
6. 项目中的一些参数,项目架构介绍?要很熟悉自己的项目,包括项目中一些参数。比如简要介绍一下某个项目的架构流程。以及某个项目的开发周期,开发中遇到了什么问题?(记住,大厂问具体知识点,小公司面试都是直接撸项目的)
7. 项目流程,要对自己的项目中参数很熟悉,参数配置容易
8. shuffle过程,简要概述一下。
9. hive使用中的参数配置?
这个比如针对实际开发中,依据实际开发中job的大小和集群的配置,比如设置,job内存大小,cpu核数等等,就是hive的开发优化吧。
10. exec什么意思,hadoop常见的文件格式
比如:SequenceFile,RCFile,Avro等等。
11. Flume和kafka的使用,搭配,如何进行拦截。
12. 快排,归并排序?递归?
13.kafka如果producer产生的数据源流量远大于sonsumer的消费能力怎么办?有什么好的解决方式吗?
这是个坑,实际开发中只能增加kafka集群,提高吞吐量,没有什么好的优化措施。
14.Spark跟storm的区别?spark不算是完全实时计算。
15.spark跟mr相比,主要快在哪里?