spark开发语言c++,Spark学习-关于Spark的开发语言Scala

说到Spark,我一定要先说说Hadoop及Java.

现在我是一个Java开发者,几年前就开始接触和使用Hadoop.最初的一个项目其实是一个后台并行计算的项目,那时经过选型后,最后决定使用Hadoop,当时是基于几个原因:

1.Apache下的项目质量都是很高的,很多项目都广为Java开发者使用,到今天来看,这个结论也不为过,如(Ant,ActiveMQ,Axis2,CXF,Cassandra,Apachecommons,HTTPServer,JMeter,Lucene,log4j,Maven,...)

2.有成熟的产品应用(Yahoo3000台的集群)

3.M/R的概念,简化了编程模型

一路用下来,感觉Hadoop的设计思想还是不错的,但是它对于批处理作业延迟完全是可以接受的,但是对于有一定实时要求的项目,它的性能就很不理想了。最主要的原因有几个:

1.它是以job形式进行提交的

2.它的Job相对来说比较重,包括步骤jar到各个节点,Job进行数据的迭代等,一个最简单的Job都要秒计

由于那时对Hadoop的设计不太了解,所以也想象着有什么办法能够执行轻量级的M/R,比如有些东西一直在内存中运行,不用spill到磁盘等,但最终也无技可施,后面就一直放置了。

转回来说Spark,我想Hadoop存在的问题也困扰着其它的使用者,所以才会有Spark的出现吧!

最开始接触Spark时,一看到它的开发语言是Scala,心里就有点儿想法:为什么没用Java开发呢,功能强大,运行速度已有了飞速的提高,已经可以和C/C++的速度抗衡(开发效率那肯定比C++快不知道多少呢,看到C++的同事大谈良好的设计,但还只能支持Windows平台时,我只能苦笑:无知者无畏啊).再看看Scala写的代码,那都是些什么啊,语法稀奇古怪的,从来没见过这些奇怪的语法(回忆一下我学过的语言,汇编,Basic,DBase/Foxbase/FoxPro,C/C++,Delphi,VB,PB,Java,Javascript,Linuxshell,...,哪个也不象啊).

我都有几次要放弃了,最终还是说再看看吧,先找本Scala的书读读。我看的是"快读Scala",慢慢的,我理解了,为什么要用Scala,就看起来就象是Java的升级版嘛。

快来看Scala的几个特性,让你有兴趣去学这门新语言:

1.它最终也会编译成JavaVM代码,看起来象不象Java的壳程序?-至少做为一个Java开发人员,你会松一口气

2.它可以使用Java包和类-又放心了一点儿,这样不用担心你写的包又得用另外一种语言重写一遍

3.更简洁的语法和更快的开发效率(这意味着你的手指少受一点儿键盘的折磨,,对于我这个希望进行快速开发的人来说,是利好吧。

这相信这让Java开发者心情很舒畅,如果你曾经用过VB,然后再用VB.net的话,你就知道什么样的感觉了:沮丧,被骗,...

好吧,如果是真正的程序猿的话,那现在开始学Scala吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值