Spark 多语言编程
Spark 同时支持Scala、Python、Java 三种应用程序API编程接口和编程方式, 考虑到大数据处理的特性,一般会优先使用Scala进行编程,其次是Python,最后才是Java。 无论使用Scala、Python还是Java编程程序都需要遵循Spark 编程模型,考虑对Spark平台支持的有力程度来说,Spark 对Scala语言的支持是最好的,因为它有最丰富的和最易用的编程接口。
简介
Spark 目前支持Scala、Python、Java三种编程语言。
Scala 作为Spark的原生语言,代码优雅、简洁而且功能完善,很多开发者都比较认可,它是业界广泛使用的Spark程序开发语言。
Spark 也提供了Python的编程模型PySpark,使得Python可以作为Spark开发语言之一。 尽管现在PySpark还不能支持所有的Spark API,但是以后的支持度会越来越高。
Java 也可以作为Spark的开发语言之一,但是相对于前两者而已,逊色了很多。但是Java8却很好地适应了Spark的开发风格,大家有兴趣可以自行了解。
误解:spark对多语言的支持,并不是说spark可以操作各个语言写的程序。 而是各种语言可以使用spark提供的编程模型来开发spark程序,并连接 spark集群来运行开发好的app
前面我们已经使用过Scala、Java语言开发Spark程序,接下来我们重点了解一下Python的编程模型。
使用python来开发spark app
Spark 公开了Python的编程模型--PySpark,开发者可以通过PySpark很容易地开发Spark 应用程序。 但是Python API和Scala API并不完全相同:
1)Python是动态语言,RDD 可以持有不同类型的对象。
2)PySpark 目前并没有支持全部的API,但核心部分已经全部支持。
3)在PySpark里,RDD支持和Scala一样的方法,只不过这些方法是Python函数来实现的,返回的也是Python的集合类型;对于RDD方法中使用的短函数,则可以使用Python的Lambda语法实现。
不过,使用Python开发Spark应用程序也有很多优势,比如说不需要编译,使用方便,还可以与许多系统集成,特别是NoSQL大部分都提供了Python开发包。接下来我们一起使用Python语言开发Spark App。
● IDE
这里选择pycharm
● 安装python
● 创建python项目
● 引入依赖的模块
pyspark
py4j
- 点赞
- 收藏
- 关注作者
评论(0)