Spark2.0新特性分析,看看你都是用到哪些了?

温馨提示

Spark2.0新特性介绍分析,很多朋友都喜欢追逐新技术,这是很好的表现,但是对于公司来说这并不是一件很乐观的事情,公司需要的是稳定性、是可控、是可维护性的事情,还有的就是人才的培养与更新问题。如果我们过于追求新技术,且使用与公司项目中,这个是要谨慎斟酌一番才好。我们公司现在生产环境还是Spark1.6版本,运行正常,你们公司已经升级2.0了吗?

下面我们来分析一下Spark2.0的新功能都有哪些提升了,看看是不是我们期待已久的功能。

1、提升执行性能

(1) Spark SQL在 Spark2.0可以执行所有99TPC-DS查询,能够执行SQL:2003标准的新功能,支持子查询了。这个值得拥有,以前在使用SQL语句的时候,会有三种版本,一是关系型数据库的标志SQL,一种是hive执行语句HQL,还有的就是Spark SQL中的不同支持程度,让一份数据在某个任务作业中执行到不同阶段,我们会使用当前阶段得数据源来进行处理计算,这样就会有SQL微调的阶段。

(2)Spark Session:新增 Spark Session,同时具备了 Sqlcontext与 Hive Context功能。不过在开发时候为了向后兼容,我们仍可以使用 SqlContext与 HiveContext来调用执行Spark程序。这样都是为了让开发者更加轻松,并统一化趋势,看自己习惯与否。

2、Spark ML pipeline机器学习程序包

(1)以 DataFrame为基础的机器学习程序包 Spark ML pipeline将成为以后主要的机器学习架构。过去我们使用的Spark MLlib程序包也仍然可以继续使用,未来的开发会以 Spark ML pipeline为主。

(2) Spark ML pipeline程序包可以支持了存储、加载训练完成的模型。这给我们模型训练很便捷的完成数据的导入、训练与调用一个完整闭环任务。

3、强大的DataSet API

过去的 DataFrames API只能执行具有类型的方法(例如 select、 groupBy),而RDD只能执行不具有类型的方法(例如map、 filter、 groupbykey)。现在我们有了 DataSets API之后,就可以同时执行具有类型的方法与不具有类型的方法。不过因为编译时类型安全( compile-timetype-safety)并不是Python和R的语言特性,所以 Python和R不提供DataSet API。

4、Structured Streaming APIs

Spark2.0的 Structured Streaming APIs是新的结构化数据流处理方式。它可以使用DataFrame/DataSet API,以Catalyst优化提升性能,并且整合了streaming数据流处理、Interactive互动查询与 batch queries批次查询。

5、其他新增功能

(1)R语言的分布式算法,增加了 Generalized Linear Models(GLM)、 Naive Bayes、 Survival Regression与K-Means等算法

(2)更简单、更高性能的 Accumulator API,拥有更简洁的类型结构,而且支持基本类型。

Spark2.0新功能你都使用到哪些了,能否给工作带来更加便捷的操作,分享给大家交流学习学习!

往期系列推荐

欢迎关注,获取更多技术

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428A0ESJH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券