千锋教育-做有情怀、有良心、有品质的IT职业教育机构

当前位置:首页 > 行业动态  >  正文

杭州大数据工程师培训告诉你面试常见问题

时间:2018-03-28 14:19:41     来源:千锋教育 作者:千锋

   大数据技术的逐渐成熟,技术人才的不断培养,面对各大企业抛来的橄榄枝,你做好准备迎接属于你辉煌的未来了吗?千锋杭州大数据工程师培训的讲师急你所急,寻你所需,不仅为你准备了一场大数据技术盛宴,还准备了通往企业的大数据开发面试题,并且都是精细讲解,今天分享的技术点是:storm和SparkStreaming的比较。

  Storm风暴和SparkStreaming火花流都是分布式流处理的开源框架。这里将它们进行比较并指出它们的重要的区别。

QQ截图20180328142102.png

  处理模型,延迟

  虽然这两个框架都提供可扩展性和容错性,它们根本的区别在于他们的处理模型。而Storm处理的是每次传入的一个事件,而SparkStreaming是处理某个时间段窗口内的事件流。因此,Storm处理一个事件可以达到秒内的延迟,而SparkStreaming则有几秒钟的延迟。

  容错、数据

  在容错数据方面的权衡是,SparkStreaming提供了好的支持容错状态计算。在Storm中,每个单独的记录经过系统时必须被跟踪,所以Storm能够至少能让每个记录将被处理一次,但是在从错误中恢复过来时候允许出现重复记录。这意味着可变状态可能不正确地被新两次。

  另一方面,SparkStreaming只需要在批级别进行跟踪处理,因此可以有效地每个mini-batch将完全被处理一次,即便一个节点发生故障。(实际上,Storm的Tridentlibrary库也提供了完全一次处理。但是,它依赖于事务新状态,这比较慢,通常必须由用户实现。)

  简而言之,如果你需要秒内的延迟,Storm是一个不错的选择,而且没有数据丢失。如果你需要有状态的计算,而且要完全确保每个事件只被处理一次,SparkStreaming则好。SparkStreaming编程逻辑也可能容易,因为它类似于批处理程序(Hadoop),特别是在你使用批次(尽管是很小的)时。

  实现,编程api

  Storm初次是由Clojure实现,而SparkStreaming是使用Scala.如果你想看看代码还是让自己的定制时需要注意的地方,这样以便发现每个系统是如何工作的。Storm是由BackType和Twitter开发;SparkStreaming是在加州大学伯克利分校开发的。

  Storm有一个JavaAPI,也支持其他语言,而SparkStreaming是以Scala编程,当然也支持Java。

  SparkStreaming一个好的特性是其运行在Spark上.这样你能够你编写批处理的同样代码,这就不需要编写单独的代码来处理实时流数据和历史数据。

  产品支持

  Storm已经发布几年了,在Twitter从2011年运行至今,同时也有其他公司使用,而SparkStreaming是一个新的项目,它从2013年在Sharethrough有一个项目运行。

  Hadoop支持

  Storm是一个HortonworksHadoop数据平台上的流解决方案,而SparkStreaming有MapR的版本还有Cloudera的企业数据平台,Databricks也提供Spark支持。

  集群管理集成

  尽管两个系统都运行在它们自己的集群上,Storm也能运行在Mesos,而SparkStreaming能运行在YARN和Mesos上。

  今天大数据的开发面试题精讲部分到这就结束了,大数据技术成为当今时代的核心技术,千锋讲师用自己丰富的阅历实力讲解大数据,感兴趣的可以跟我们的讲师多多交流。

相关文章

  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、大数据开发培
                     训、VR/AR混合现实培训、Python培训、iOS培训、好程序员
  • 深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷A区B座605-619
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区) 0755-86660670-801(大学城校区)
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、大数据开发培
                     训、VR/AR混合现实培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:PHP培训、Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课
                     程培训、好程序员
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55191750 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、iOS课程培训、JavaEE培训
  • 大连地址:大连市甘井子区软件园路6号B5座101室
    咨询电话:0411-39026086 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 武汉地址:武汉市江夏区藏龙岛杨桥湖大道15号拓创大厦15楼
    咨询电话:027-81772047
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、iOS课程培训
  • 千锋动态二维码

    了解千锋动态
    关注千锋教育服务号

  • 千锋互联二维码

    扫码关注千锋互联
    身边的移动开发导师