跳转到主要内容
工程的博客

介绍Apache火花2.1

通过雷诺鑫

2016年12月29日 工程的博客

分享这篇文章

火花峰会将在波士顿举行2月7号到9号,2017。检查排满日程得到你的票之前卖出去!


今天我们很高兴地宣布的可用性Apache 2.1.0的火花

这个版本是可衡量的进展在生产准备的结构化流,添加了支持事件时间水印和Apache卡夫卡0.10支持。此外,释放更多的关注可用性、稳定性、和细化,解决1200多票,比先前的火花版本。

本博客文章讨论的一些高层变化来帮助您浏览1200 +改进和错误修复:

  • 生产准备的结构化流
  • 扩展SQL功能
  • 新的分布式机器学习算法在R

结构化流

在火花2.0中引入的,结构化流是一个高级API构建连续应用程序。主要目标是使其更容易构建端到端的流媒体应用,这与存储、集成服务系统和批处理作业一致和容错。

  • 事件时间水印:这种变化让应用程序提示系统当事件被认为是“太迟了”,允许系统内部状态跟踪事件后期绑定。
  • 支持基于文件的格式和所有文件的特点:通过这些改进,结构化流可以读取和写入所有文件的格式,例如JSON,文本,Avro、CSV。此外,所有基于文件的features-e.g。分区文件和bucketing-are支持所有格式。
  • Apache 0.10卡夫卡:这对卡夫卡0.10增加了本地支持,包括手动作业开始偏移量和速度限制。

流媒体应用程序24/7连续运行,把严格要求底层系统的可见性和可管理性。为此,火花2.1增加了以下功能:

  • GUID:添加一个GUID,可以用来识别流在重启时查询。
  • 向前兼容和人类可读的检查点记录:现在一个稳定的JSON格式用于所有检查点日志,它允许用户升级流查询从2.1火花引发的未来版本。此外,日志格式是由人设计的,因此它可以检查容易,获得可见性的运行系统。
  • 改善报告的查询状态:查询状态API已被更新以包含更多的信息基于我们自己的生产经验,为查询现状以及历史的进步。

在砖,我们虔诚地相信自己。使用发布候选版本2.1火花,我们移植的一些内部数据管道以及与我们的一些客户港口生产管道使用结构化流。在未来几周,我们将发布一系列的博文结构化流的各个方面以及我们的经验。请继续关注更多的深潜水。

SQL和核心api

火花2.0版本以来,火花现在最功能丰富和遵从标准的SQL查询引擎之一的大数据空间。它可以连接到不同的数据源并执行sql - 2003等特性集解析函数和子查询。火花2.1增加了一些SQL功能:

  • 表值函数:火花2.1引入了表值函数的概念,或时变滤波,一个函数,返回一个关系,或一组行。第一个内置的表值函数是“范围”,返回一系列的TVF行。作为一个例子,“SELECT count(*)从范围(1000)”将返回1000。
  • 增强分区列推理:添加支持推断日期、时间戳和十进制类型分区列。
  • 增强的内联表:而引发2.0添加支持内联表、火花2.1增强内联表来支持使用任何指定值也可折叠的表情和自动强制类型。作为一个例子,“SELECT * FROM值(“一”),(1 + 1,“两”)“选择从表2行。
  • 零排序:用户现在可以指定如何订单取消,如取消去年在order BY子句中第一或null。
  • 二进制文本:X ' 1 c7 '意味着一个二进制0 x1c7文字(字节数组)。
  • -:添加支持-集操作,这相当于除了截然不同。
  • to_json和from_json功能:在火花自动推断类型JSON数据集。我们也看到很多数据集的一个或两个字符串列是JSON编码。两个新功能使用JSON列。
  • 交叉连接提示:在处理大量数据时,一个交叉连接可能会非常昂贵,用户经常不想实际执行交叉连接。火花2.1开箱即用的禁用交叉连接支持,除非用户明确问题查询“交叉连接”语法。也就是说,火花2.1将拒绝“SELECT * FROM a加入”,但允许“SELECT * FROM a交叉连接。“这样火花防止用户搬起石头砸自己的拍摄。禁用此行为,改变“spark.sql.crossJoin。启用”到“真正的”。

火花2.1还增加了一些核心数据集/ DataFrame API的改进,主要是在类型的API:

  • KeyValueGroupedDataset.mapValues:用户现在可以在KeyValueGroupedDataset映射的值,无需修改密钥。
  • 部分KeyValueGroupedDataset.reduceGroups聚合:reduceGroups现在支持部分聚合来减少慢吞吞地在网络上的数据量。
  • java.util.Map编码器:java.util。地图类型可以自动推断出火花地图类型。

MLlib和SparkR

2.1最后一个主要的变化引发关注先进的分析。添加了以下新算法MLlib GraphX:

火花2.1还增加了支持以下SparkR分布式算法:

  • 肌萎缩性侧索硬化症
  • 等张回归
  • 多层感知器分类器
  • 随机森林
  • 高斯混合模型
  • 乔治。
  • 多级逻辑回归
  • 梯度增加了树木

通过添加这些算法,SparkR已成为分布式机器学习最全面的图书馆在R。

这篇文章只涵盖在此版本的一些主要特性。你可以去官方发布说明看到变化的完整列表。

我们将发布更多细节在未来几周这些新特性。请继续关注砖的博客来了解更多关于火花2.1。BOB低频彩如果你想尝试这些新特性,你已经可以使用火花2.1砖,与老版本的火花。注册一个免费试用帐户在这里。

免费试着砖
看到所有工程的博客的帖子