`
Djava.sohu.com
  • 浏览: 63641 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
说到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吧!

分享到:
评论
1 楼 一说书先生 2018-02-20  
快学Spark 2.0(新特性、含真实项目、纯Scala语言开发、CDH5.7)
网盘地址:https://pan.baidu.com/s/1ragIqfU 密码: t6nj
备用地址(腾讯微云):http://url.cn/58YgBqm 密码:bwo0v7

相关推荐

    spark-2.1.0-bin-without-hadoop版本的压缩包,直接下载到本地解压后即可使用

    在Ubuntu里安装spark,spark-2.1.0-bin-without-hadoop该版本直接下载到...它提供使用 Java、Scala、Python 和 R 语言的开发 API,支持跨多个工作负载重用代码—批处理、交互式查询、实时分析、机器学习和图形处理等。

    scala开发spark代码

    此代码包含spark-core代码,spark-sql代码以及spark-streaming代码

    scala-2.11.12.rar

    spark开发语言scala-2.11.12

    基于Scala的spark-study学习项目设计源码

    本项目是基于Scala的spark-study学习项目设计源码,包含27个文件,...项目旨在为学习Spark提供一个实践平台,通过Scala编程语言和Spark框架,实现数据处理、机器学习等功能,帮助开发者掌握Spark的核心概念和编程技巧。

    基于Scala的Spark学习仓库设计源码

    本源码项目是基于Scala的Spark学习仓库设计,包含282个文件,主要使用Scala编程语言。该项目是一个Spark学习仓库,旨在帮助开发者学习和实践Spark技术。系统提供了丰富的学习资源,包括Spark的示例代码、文档和教程...

    基于Scala语言的Apache Spark学习与实践源码

    本项目是基于Scala语言开发的Apache Spark学习与实践源码,共包含53个文件。其中,Scala源代码文件21个,文本文件7个,XML文件5个,Markdown文档5个,JSON配置文件3个,Avro Schema文件2个,CSV数据文件2个,...

    基于Scala的Spark学习项目设计源码

    Spark学习项目 - 基于Scala开发,包含21个文件,如SCALA、DOCX、GITIGNORE、JSON、LICENSE和TXT等。该项目是一个Spark学习项目,通过Scala语言实现,旨在帮助开发者学习和理解Spark的编程模型和数据处理能力。

    scala-2.11.12.tgz

    scala-2.11.12.tgz,spark开发常用的编程语言,分享快乐~~

    Spark 编程基础(Scala 版)-机房上机实验指南

    Spark与Scala的集成:展示如何在Scala环境下搭建Spark开发环境,包括安装、配置Spark以及Scala的IDE支持。 Spark核心API:深入讲解Spark的核心API,包括RDD(弹性分布式数据集)、DataFrame、Dataset以及Spark SQL...

    spark-scala-examples:该项目以Scala语言提供了Apache Spark SQL,RDD,DataFrame和Dataset示例

    所有这些示例均以Scala语言编码并在我们的开发环境中进行了测试。目录(Scala中的Spark示例)Spark RDD示例火花蓄能器介绍将Spark RDD转换为DataFrame | 数据集 Spark SQL教程Spark创建带有示例的DataFrame Spark ...

    深入解析Scala与Java共筑的Spark全面学习源码

    本项目以Scala为主要开发语言,辅以Java实现,全面讲解了Spark的原理与应用。包含文件共150个,其中主要包括: - XML配置文件:139个,为项目提供了详细的配置选项; - Java源文件:9个,用于展示Java与Scala在...

    scala 3本书打包

    随着spark兴起,scala作为spark项目的开发语言也越来越受到大家的关注。这种函数式与面向对象的编程语言极大的简化了代码的编写量,同时它就是为并发式编程而生的。这个打包文件中包含了《SCALA程序设计-JAVA虚拟机...

    Spark亚太研究院-Spark实战高手之路

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。 尽管创建 Spark 是为了支持...

    基于scala语言编写的SparkSQL

    文档以scala语言编写了sparkSQL查询数据的方式,没有打jar包运行,在spark命令行测试通过

    spark从入门到实战

    2.为什么学习SCALA语言及SCALA语言介绍和学习提纲 3.SCALA环境搭建及IDEA安装配置(JAVA安装、SCALA安装及IDEA安装)) 4.SCALA语言HelloWorld及安装总结(作业LINUX系统安装) 5.SCALA中变量的声明(两种方式) 6...

    基于Scala的Spark模型转换为PMML格式设计源码

    本设计源码提供了一个基于Scala的Spark模型转换为PMML格式。...该系统利用JPMML-Spark将Spark模型转换为PMML格式,适合用于学习和实践Scala和Java技术,以及开发基于Scala的Spark模型转换为PMML格式相关的系统。

    大数据Spark企业级实战

    《大数据Spark企业级实战》详细解析了企业级...并且结合Spark源码细致的解析了Spark内核和四大子框架,最后在附录中提供了的Spark的开发语言Scala快速入门实战内容,学习完此书即可胜任绝大多数的企业级Spark开发需要。

    Spark 实战开发教程

    2、《Spark开发环境配置及流程(Intellij_IDEA)》 3、《spark官方文档中文版》 4、《Spark 入门之 Scala 语言解释及示例讲解》 5、《Scala编码规范》 总结: Hadoop MapReduce会被新一代的大数据处理平台替代是...

Global site tag (gtag.js) - Google Analytics