Spark学习-关于Spark的开发语言Scala

5 篇文章 0 订阅
4 篇文章 0 订阅
说到Spark,我一定要先说说Hadoop及Java.

现在我是一个Java开发者,几年前就开始接触和使用Hadoop. 最初的一个项目其实是一个后台并行计算的项目,那时经过选型后,最后决定使用Hadoop,当时是基于几个原因:
1. Apache下的项目质量都是很高的,很多项目都广为Java开发者使用,到今天来看,这个结论也不为过,如(Ant, ActiveMQ, Axis2,CXF,Cassandra, Apache commons, HTTP Server,JMeter,Lucene,log4j,Maven, ...)

2. 有成熟的产品应用(Yahoo 3000台的集群)
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, Linux shell, ...,哪个也不象啊).
我都有几次要放弃了,最终还是说再看看吧,先找本Scala的书读读。我看的是"快读Scala",慢慢的,我理解了,为什么要用Scala, 就看起来就象是Java的升级版嘛。

快来看Scala的几个特性,让你有兴趣去学这门新语言:
1. 它最终也会编译成Java VM代码,看起来象不象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、付费专栏及课程。

余额充值