云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式数据库_特价服务器_年度促销

小七 141 0

发布Apache Spark 1.5

首届欧洲火花峰会将于今年10月在阿姆斯特丹举行。请查看完整的日程安排,在门票售罄前拿到您的门票!今天我们很高兴地宣布ApacheSpark的1.5版本已经发布!在这篇文章中,我们概述了Spark 1.5中的主要开发主题和一些我们最感兴趣的新特性。在接下来的几周里,我们的博客将发布更多关于Spark 1.5特定组件的详细文章。对于Spark 1.5中的功能的全面列表,您还可以在下面找到详细的Apache发行说明。Spark 1.5的许多主要变化都是为了提高Spark的性能、可用性和操作稳定性而进行的底层更改。Spark 1.5发布了ProjectTungsten的主要部分,这是一个通过几个低层次的架构优化来提高Spark性能的计划。该版本还为流式组件添加了操作特性,如背压支持。这个版本的另一个主要主题是数据科学:Spark 1.5发布了一些新的机器学习算法和实用程序,并扩展了Spark的新R API。一个有趣的小道消息是,在Spark 1.5中,我们已经跨过了JIRA编号的10000大关(也就是说,为了请求特性或报告bug,已经提交了10000多张罚单)。希望增加的数字不会太慢我们的发展!性能改进和钨项目今年早些时候,我们宣布了钨丝计划,这是Spark内部架构的一系列重大变化,旨在提高性能和健壮性。Spark 1.5发布了Project Tungsten的第一个主要部分。这包括二进制处理,它使用定制的二进制内存布局绕过Java对象模型。二进制处理显著降低了数据密集型工作负载的垃圾收集压力。它还包括一个新的代码生成框架,在运行时生成优化的字节码,用于计算用户代码中的表达式。Spark 1.5添加了大量由代码生成的内置函数,用于日期处理和字符串操作等常见任务。在接下来的几周里,我们将撰写关于钨计划的文章。下面的图表比较了使用Spark 1.4和Spark 1.5的聚合查询的开箱即用(即没有配置更改)性能,包括小型聚合和大型聚合。该版本还包括各种其他性能增强。对apacheparquet文件格式的支持提高了输入/输出性能,默认情况下启用了谓词下推功能,并提供了更快的元数据查找路径。Spark的join也受到了一些关注,它使用了一个新的broadcast outer join操作符,并且能够执行sort merge outer join。可用性和互操作性spark1.5还关注可用性方面,比如提供与各种环境的互操作性。毕竟,只有当Spark连接到数据源或在集群上工作时,才能使用它。如果你想调试的话,Spark程序需要易于理解。spark1.5在webui中添加了SQL和DataFrame查询计划的可视化,并动态更新了操作指标,比如过滤器操作符的选择性以及聚合和联接的运行时内存使用情况。下面是一个来自web UI的计划可视化示例(单击图像查看详细信息)。此外,我们还投入了大量的工作来改善与其他生态系统项目的互操作性。例如,使用类加载器隔离技术,Spark的单个实例(SQL和DataFrames)现在可以连接到hivemetastores的多个版本,从hive0.12一直到hive1.2.1。除了能够连接到不同的元存储,Spark现在可以读取其他系统生成的几个拼花变体,包括Parquet avro、Parquet thrift、Parquet protobuf、Impala、Hive。据我们所知,Spark是唯一一个能够连接到不同版本的Hive并支持野外存在的各种拼花格式的系统。火花流中的操作工具Spark Streaming在这个版本中增加了几个新特性,重点关注长期生产流工作负载的操作稳定性。这些功能主要基于现有流媒体用户的反馈。Spark 1.5增加了背压支持,当系统处于不稳定状态时,它会限制接收速率。例如,如果输入中有一个大的突发,或者在写入输出时有一个临时的延迟,系统将动态地调整并确保流式程序保持稳定。此功能是与Typesafe协作开发的。第二个操作附加功能是跨集群进行负载平衡和调度数据接收器的能力,以及对长时间运行作业接收器重新启动的更好控制。Spark streaming还在这个版本中添加了几个PythonAPI,包括Amazon Kinesis、Apache Flume和MQTT协议。数据科学API的扩展在2015年,Spark是科学研究的主要焦点之一。我们在Spark中添加了三个主要元素:数据帧、机器学习管道和R语言支持。这三项增加带来了类似于同类最佳单节点工具的api。在Spark 1.5中,我们大大扩展了他们的能力。在spark1.3中最初发布DataFrames之后,最常见的用户请求之一就是支持更多现成的字符串和日期/时间函数。我们很高兴地宣布Spark 1.5引入了100多个内置函数。几乎所有这些内置函数也实现了代码生成,因此使用它们的应用程序可以利用我们在"钨项目"中所做的更改。在spark1.4中,R语言支持作为alpha组件引入。spark1.5提高了R的可用性,并通过与MLlib的集成引入了对可伸缩机器学习的支持。现在支持Gaussian front-end和glr-end正则化族。对于机器学习,Spark 1.5通过新的管道模块和算法为新的管道API带来了更好的覆盖范围。新的管道特性包括特征变换器,如CountVectorizer、DCT、MinMaxScaler、NGram、PCA、RFormula、StopWordsRemover和VectorSlicer等,以及诸如多层感知器分类器、增强树模型、k均值和朴素Bayes等算法,以及诸如列车验证拆分和多类分类评估器之类的调整工具。其他新算法包括序列模式挖掘的PrefixSpan、关联规则生成、单样本Kolmogorov-Smirnov测试等。星火包装生态系统的成长1.5版本也是一个很好的时机来提及Spark的软件包生态系统的发展。今天,有超过100个包可以用一个简单的标志为任何Spark程序启用。软件包包括机器学习算法、各种数据源的连接器、实验性的新特性等等。一些软件包发布了与Spark 1.5版本一致的更新,包括Spark csv、Spark redshift和Spark avro数据源连接器。Spark 1.5.0的特色贡献来自230多个开发者-感谢所有帮助使这个版本成为可能的人!请关注Databricks博客,了解更多关于spark1.5特性的信息,并了解即将到来的Spark开发。为了您的方便,我们在这里附上了完整的发行说明。如果您想尝试这些新特性,您已经可以在Databricks中使用spark1.5了。在这里注册14天免费试用。Apache Spark 1.5发行说明API:RDD、DataFrame和SQL列名的一致解析(请参阅行为更改部分)SPARK-3947:新的实验性用户定义聚合函数(UDAF)接口SPARK-8300:广播连接的数据帧提示SPARK-8668:用于将SQL表达式转换为数据帧列的expr函数SPARK-9076:改进了对NaN值的支持NaN函数:isnan,nanvl除了空值之外,dropna/fillna还填充/删除NaN值NaN=NaN上的相等测试返回trueNaN大于所有其他值在聚合中,NaN值进入一个组SPARK-8828:当所有输入值都为空时,Sum函数返回null数据类型SPARK-8943:时间间隔的CalendarIntervalTypeSPARK-7937:StructType上的支持排序SPARK-8866:TimestampType的精度降低到1微秒(1us)添加了大约100个函数,包括日期/时间、字符串、数学。SPARK-8947:改进了计划分析阶段的类型强制和错误报告(即,大多数错误应在分析时报告,而不是在执行时报告)SPARK-1855:只支持内存和本地磁盘检查点后端执行:DataFrame和SQL对于几乎所有的DataFrame/SQL函数,默认情况下都启用代码生成改进了DataFrame/SQL中的聚合执行缓存友好的内存哈希映射布局当内存耗尽时,回退到基于排序的外部聚合默认情况下,聚合的代码生成处于启用状态改进了DataFrame/SQL中的连接执行在shuffle联接(对于左/右外部联接和内部联接)中,优先选择(外部)排序合并联接而不是散列联接,即联接数据大小现在由磁盘而不是内存限定支持对左/右外部联接使用(外部)排序合并联接方法支持广播外部连接改进了DataFrame/SQL中的排序执行缓存友好的内存布局用于排序当数据超过内存大小时回退到外部排序用于快速比较的代码生成比较器本机内存管理与表示紧凑的二进制内存数据表示,导致内存使用率降低显式地计算执行内存,而不依赖jvmgc,从而减少GC和更健壮的内存管理SPARK-8638:提高窗口函数的性能和内存使用率度量工具、报告和可视化SPARK-8856:DataFrame/SQL的计划可视化SPARK-8735:公开webui中运行时内存使用的度量SPARK-4598:webui中具有大量任务的作业分页集成:数据源、Hive、Hadoop、Mesos和Cl