说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Spark 1.3更新概述:176个贡献者,1000+ patches

HTML文档下载 WORD文档下载 PDF文档下载
千呼万唤,合176个贡献者之力,Spark 1.3终于发布,其主要更新包括:2014年到2015年Spark最大的API改动DataFrame、内置支持Spark Packages、更好的Kafka支持,以及MLlib中的多个算法引入。

近日,Databricks正式发布Spark 1.3版本。在此版本中,除下之前我们报道过的DataFrame API,此次升级还覆盖Streaming、ML、SQL等多个组件。当下,1.3版本已在 Apache Spark页面提供下载,下面一起浏览 Patrick Wendell在Databricks Blog上对Spark 1.3版本的概括(PS:DataFrame请访问“ Spark新年福音:一个用于大规模数据科学的API——DataFrame  ”一文)。

以下为译文

Spark SQL脱离Alpha版本

在1.3版本中,Spark SQL正式脱离Alpha版本,提供了更好的SQL标准兼容。同时,Spark SQL数据源API亦实现了与新组件DataFrame的交互,允许用户直接通过Hive表格、Parquet文件以及一些其他数据源生成DataFrame。用户可以在同一个数据集上混合使用SQL和data frame操作符。新版本提供了从JDBC读写表格的能力,可以更原生地支持Postgres、MySQL及其他RDBMS系统。同时,该API还为JDBC(或者其他方式)连接的数据源生成输出表格提供写入支持。

> CREATE TEMPORARY TABLE impressionsUSING org.apache.spark.sql.jdbcOPTIONS (url "jdbc:postgresql:dbserver",dbtable "impressions")> SELECT COUNT(*) FROM impressions

内置支持Spark Packages

在2014年底,我们着手为Spark建立一个新的社区项目目录站点——Spark Packages。当下,Spark Packages已经包含了开发者可以使用的45个社区项目,包括数据源集成、测试工具以及教程。为了更方便Spark用户使用,在Spark 1.3中,用户可以直接将已发布包导入Spark shell(或者拥有独立flag的程序中)。

# Launching Spark shell with a package./bin/spark-shell --packages databricks/spark-avro:0.2 

Spark Packages 还为开发者建立了一个SBT插件来简化包的发布,并为发布包提供了自动地兼容性检查。

在Spark Streaming中提供了更低等级的Kafka支持

从过去发布的几个版本来看,Kafka已经成为Spark Streaming一个非常人气的输入源。Spark 1.3引入了一个新的Kakfa streaming source,它利用了Kafka的回放能力,在非预写日志配置下提供了一个更可靠的交付语义。同时,针对那些需求强一致性的应用程序,它还提供了实现了Exactly-Once Guarantees的原语。在Kafka的支持上,1.3版本还添加了一个Python API以及支持这个API的原语。

MLlib中的新算法

Spark 1.3还提供了大量的新算法。其中,Latent Dirichlet Allocation(LDA)成为了第一个出现在MLlib中的主题建模算法。在这之前,Spark的逻辑回归已经通过多项逻辑斯蒂回归(multinomial logistic regression )支持多类分类(multiclass classification)。而在这个版本中,聚类再次被提升,Gaussian Mixture Models和 Power Iteration Clustering被引入。并通过FP-growth扩展了频繁项集挖掘(FIM,Frequent Itemsets Mining)。最后,MLlib还为Distributed Linear Algebra引入了有效的块矩阵抽象。(编译/仲浩 审校/钱曙光)


由“2015 OpenStack技术大会”、“2015 Spark技术峰会”、“2015 Container技术峰会” 所组成的 OpenCloud 2015大会于4月17-18日在北京召开。 日程已经全部公开!懂行的人都在这里!(优惠票价期,速来)

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘