开源分布式计算系统,Spark 1.2 发布
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽 管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
=Spark 1.2.0于美国时间2014年12月18日发布,Spark 1.2.0兼容Spark 1.0.0和1.1.0,也就是说不需要修改代码即可用,很多默认的配置在Spark 1.2发生了变化
1、spark.shuffle.blockTransferService由nio改成netty
2、spark.shuffle.manager由hash改成sort
3、在PySpark中,默认的batch size改成0了,
4、Spark SQL方面做的修改:
spark.sql.parquet.cacheMetadata: false -> true
spark.sql.parquet.compression.codec: snappy -> gzip
spark.sql.hive.convertMetastoreParquet: false -> true
spark.sql.inMemoryColumnarStorage.compressed: false -> true
spark.sql.inMemoryColumnarStorage.batchSize: 1000 -> 10000
spark.sql.autoBroadcastJoinThreshold: 10000 -> 10485760 (10 MB)
详情:
Spark 1.2.0是1.X线上的第三个版本。
该版本的core模块在操作和表现等方面带来了很大的提升。其中包括了特地为传输非常大的shuffle而设计的network传输子系统。 Spark SQL模块引进了操作外部数据源的API,对Hive 0.13的支持,动态分区的支持以及固定精度的decimal类型。MLlib模块添加了新的pipeline-oriented package (spark.ml) for composing multiple algorithms。Spark Streaming添加了Python API,为容错而开发的写前日志。最后,GraphX 从alpha 版升级到稳定版,并且在性能方面有所提升。
更多内容请看发行说明,现已提供下载。