Spark 1.6发布的新功能

Spark 1.6版本发布,包括性能提升、Dataset API改进及新增机器学习和统计分析算法。重点优化了Parquet读取性能、自动内存管理和streaming state管理,同时引入Dataset API增强类型安全,以及支持多种机器学习和统计分析功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2016年1月5日,Databricks宣布发布Apache Spark 1.6! 这也是开源社区开发的一个里程碑,2015年代码贡献者达到1000人,是2014一整年的两倍,见下图。

接下来揭开Spark 1.6新发布的功能。

Spark 1.6包含了超过1000个patches,在这里主要展示三个方面的主题:新的Dataset API,性能提升(读取 Parquet 50%的性能提升,自动内存管理,streaming state management十倍的性能提升),以及大量新的机器学习和统计 分析算法。

性能提升

根据2015年Spark官方调研发现,91%的用户觉得性能提升是Spark最重要的方面。因此,性能优化是Spark开发一直的关注点。

读取Parquet性能提升:Parquet是在Spark使用中最常用的数据格式。Parquet读取性能对 海里数据应用有着极其重大的影响。在过去,Spark中读取Parquet依赖于Parquet的(parquert-mr)MR来读取并解析 Parquet文件。当我们优化Spark程序时,你会发现太多的时间消耗在从Parquet列解析成记录集的过程中。而在Spark 1.6中Databricks采 用一种新型的Parquet reader读取器,它可以避开”parquert-mr”式的记录集解析,并使用更加优化的字节码路径来解析 Parquet的schemas。在基准测试中可以发现,新型的Parquet reader读取器读取Parquet文件有 50%的性能提升(从 2.9 million/秒提升到4.5million/秒)。

自动内存管理:Spark 1.6另外一个性能提升是在内存管理方面。在Spark 1.6之前,Spark静 态地把内存划分成两部分:execution memory 和 cache memory。Execution memory主要用来做 sort,hash和shuff。Cache memory是用来缓存热点数据的。Spark 1.6引进新的内存管理机制能自动调节这两种内存的区域, 运行时自动增长,回收时根据执行的应用适时进行。

这意味着在无需用户干预的情况下使用join和aggregation操作时内存的自适应有大幅的提升。

对于读取Parquet和自动内存管理两种性能提升也不需要开发者更改老版本的代码。

streaming state management十倍的性能提升:State management是Spark Streaming应用开发里重要的功能,经常用来保存聚合信息或session信息。通过社区开发者的反馈,Databricks重新设计了state management API,并引入mapWithState API (可随updates的数目线性扩展)。这意味着能更有效的跟踪增量变化,而不是每次update都要对数据进行一次全scan。Databricks已经创建了一个notebook 来展示怎么使用这个new feature,后面会发blog进一步对这个功能进行详细讲解。

Dataset API

在今年早些时候Spark引入DataFrame,它可以提供high-level functions让Spark更好的处理数据结构和计算。这让 Catalyst optimizer 和 Tungsten execution engine 自动加速大数据分析。

发布DataFrame之后开发者收到了很多反馈,其中一个主要的是大家反映缺乏编译时类型安全。为了解决这个问题,Spark采用新的Dataset API (DataFrame API的类型扩展)。

Dataset API扩展DataFrame API支持静态类型和运行已经存在的Scala或Java语言的用户自定义函数。对比传统的RDD API,Dataset API提供更好的内存管理,特别是在长任务中有更好的性能提升,请参见 blog 。

新的数据科学功能

机器学习管道持久化:现在许多机器学习的应用采用Spark的ML pipeline功能来构建机器学习 pipelines。老版本中,如果想在外部存储pipeline,需要用户自己完成持久化代码部分。在Spark 1.6中已经提供了对应的 function来存储和重新加载pipelines,并把先前的models应用到新的数据中。

大量新的机器学习和统计分析算法:

这次发布增加了以下算法:

· 无偏估计统计

· 生成分析

· 最小二乘法的归一化

· 二分k均值聚类算法

· 在线假设检验

· LDA算法

· 支持R语言的广义线性模型的统计

· 公式的交互

· 支持R语言的广义线性模型的权重

· LIBSVM数据源

· 支持非标准的JSON数据

内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支和高频结构先验建模分支结合Transformer模块和注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员和工程师,尤其是对核磁共振图像超分辨率感兴趣的学者和技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计与实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值