这个版本是 Structured Streaming 的一个重要里程碑,因为其终于可以正式在生产环境中使用,实验标签(experimental tag)已经被移除。在流系统中支持对任意状态进行操作;Apache Kafka 0.10 的 streaming 和 batch API支持读和写操作。除了在 SparkR, MLlib 和 GraphX 里面添加新功能外,该版本更多的工作在系统的可用性(usability)、稳定性(stability)以及代码的润色(polish)并解决了超过 1100 个tickets。

这篇文章中将详细介绍这些新特性,包括:

  • Structured Streaming的生产环境支持已经就绪;
  • 扩展 SQL 的功能;
  • R 中引入了新的分布式机器学习算法;
  • MLlib 和 GraphX 中添加了新的算法

Structured Streaming

Structured Streaming 是从 Spark 2.0 开始引入的,其提供了高层次的API来构建流应用程序;目的是提供一种简单的方式来构建端到端的流应用程序(end-to-end streaming applications),提供了一致性保证和容错方式。

从 Spark 2.2.0 开始,Structured Streaming 已经为生产环境的支持准备就绪,除了移除了实验性标签,还包括了一些高层次的变化,比如:

  • Kafka Source and Sink: Apache Kafka 0.10 的 streaming 和 batch API支持读和写操作;
  • Kafka Improvements: Kafka 到 Kafka 流操作中的producer 支持缓存以实现低延迟;
  • Additional Stateful APIs: [flat]MapGroupsWithState 操作支持复杂的状态处理以及超时处理;
  • Run Once Triggers:详情:Running Streaming Jobs Once a Day For 10x Cost Savings

SQL 和 Core APIs

自从 Spark 2.0 发布,Spark 已经成为大数据领域中功能最丰富并且符合标准的SQL查询引擎之一。它可以连接各种数据源,并且可以在这些数据上执行 SQL-2003 标准语句,包括分析函数以及子查询。Spark 2.2 还添加了许多 SQL 新功能,包括:

  • API 更新: 统一了数据源和hive serde表的 CREATE TABLE 语法;SQL查询支持广播提示(broadcast hints )比如BROADCAST, BROADCASTJOIN, 以及 MAPJOIN;
  • 总体性能和稳定性:
    • filter、join、aggregate、project 以及 limit/sample 操作支持基于成本优化器的基数统计(Cost-based optimizer cardinality estimation);
    • 使用星型启发式(star-schema heuristics)来提升 TPC-DS 性能;
    • CSV 和 JSON 文件 listing/IO 性能提升;
    • HiveUDAFFunction 支持部分集合;
    • 引入基于JVM对象的聚合运算符
  • 其他值得关注的改变:
    • 支持解析多行的JSON 和 CSV 文件
    • 分析分区表的命令

MLlib 和 SparkR

Spark 2.2.0 的最后一大变化主要集中在高级分析,MLlib 和 GraphX 添加了以下的新算法:

  • 局部敏感哈希(Locality Sensitive Hashing)
  • 多级逻辑回归(Multiclass Logistic Regression)
  • 个性化PageRank(Personalized PageRank)

Spark 2.2.0还在 SparkR 中添加了以下分布式算法:

  • 交替最小二乘(ALS,Alternating Least Squares )
  • 保序回归(Isotonic Regression)
  • 多层感知分类器(Multilayer Perceptron Classifier)
  • 随机森林(Random Forest)
  • 高斯混合模型(Gaussian Mixture Model)
  • 线性判别式分析(Linear Discriminant Analysis, LDA)
  • 多级逻辑回归(Multiclass Logistic Regression)
  • 梯度提升树(Gradient Boosted Trees)
  • Structured Streaming API 支持 R 语言
  • R 中支持 to_jsonfrom_json
  • 支持Multi-column approxQuantile

随着这些算法的增加,SparkR已经成为 R 中最全面的分布式机器学习库。

该文转载自 https://www.iteblog.com/archives/2194.html

英文原文参考 https://databricks.com/blog/2017/07/11/introducing-apache-spark-2-2.html

Apache Spark 2.2.0新特性介绍(转载)的更多相关文章

  1. Apache Spark 2.2.0 新特性详细介绍

    本章内容: 待整理 参考文献: Apache Spark 2.2.0新特性详细介绍 Introducing Apache Spark 2.2

  2. Apache Spark 2.3.0 重要特性介绍

    文章标题 Introducing Apache Spark 2.3 Apache Spark 2.3 介绍 Now Available on Databricks Runtime 4.0 现在可以在D ...

  3. Apache Spark 1.6公布(新特性介绍)

    Apache Spark 1.6公布 CSDN大数据 | 2016-01-06 17:34 今天我们很高兴可以公布Apache Spark 1.6,通过该版本号,Spark在社区开发中达到一个重要的里 ...

  4. Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性

    Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 Apache hadoop 项目组最新消息,hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+ ...

  5. webpack 4.0.0-beta.0 新特性介绍

    webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...

  6. Pivotal Greenplum 6.0 新特性介绍

    Pivotal Greenplum 6.0 新特性介绍   在1月12日举办的Greenplum开源有道智数未来技术研讨会上,Pivotal中国研发中心Greenplum 产品经理李阳向大家介绍了Pi ...

  7. [转帖]Pivotal Greenplum 6.0 新特性介绍

    Pivotal Greenplum 6.0 新特性介绍 https://cloud.tencent.com/developer/news/391063 原来 greenplum 也是基于pg研发的. ...

  8. 【c#】6.0与7.0新特性介绍记录

    c#发展史 引用地址:https://www.cnblogs.com/ShaYeBlog/p/3661424.html 6.0新特性 1.字符串拼接优化 语法格式:$”string {参数}” 解释: ...

  9. Apache Cassandra 4.0新特性介绍

    引言 大家好,我是蔡一凡,是Cassandra的贡献者之一.(虽然我不便透露我的公司名称),但目前我们公司Cassandra的部署是全世界最大的之一,Cassandra在我们公司也有很多的应用. Ca ...

随机推荐

  1. Android为TV端助力 自定义通知栏

    package com.example.mvp; import cn.ljuns.temperature.view.TemperatureView;import presenter.ILoginPre ...

  2. (后端)JackSon将java对象转换为JSON字符串(转)

    转载小金金金丶园友: JackSon可以将java对象转换为JSON字符串,步骤如下: 1.导入JackSon 的jar包 2.创建ObjectMapper对象 3.使用ObjectMapper对象的 ...

  3. PyCharm 使用Github管理Django项目

    不管是对于教程代码免费分享的需要,还是项目开发过程中的版本管理,Github都是我们首选的开源代码仓库,如果你没有私有仓库,并且不用保护代码,那么将项目上传到Github上是最佳的选择. 关于如何使用 ...

  4. coTurn测试程序之turnutils_stunclient.exe

    测试使用方法,作为STUN客户端,仅用于测试STUN服务是否正常运行. 使用coTurn服务启动STUN/TURN服务后,执行以下命令即可: turnutils_stunclient -p 61.18 ...

  5. [20181204]低版本toad 9.6直连与ora-12505.txt

    [20181204]低版本toad 9.6直连与ora-12505.txt --//我们生产系统还保留有一台使用AMERICAN_AMERICA.US7ASCII字符集的数据库,这样由于toad新版本 ...

  6. JQuery实现全选、全不选和反选功能

    看重点就行了,最后面给一个网页完整的代码 代码实例: function selectStu() { $.ajax("StuList",{ type:"post" ...

  7. 洗礼灵魂,修炼python(76)--全栈项目实战篇(4)—— 购物车系统

    要求: 1.基本符合日常购物车的要求(根据你的想法开放性提升功能) 2.展示商品信息,并且可随时上新商品 3.用户购买每一样商品时都对所剩的钱做一次对比,如果够则提示“已购买”,如果不够提示“余额不足 ...

  8. Java中数组、List、Set互相转换

    数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...

  9. C#方法重载(overload)方法重写(override)隐藏(new)

    一.重载:同一个作用域内发生(比如一个类里面),定义一系列同名方法,但是方法的参数列表不同.这样才能通过传递不同的参数来决定到底调用哪一个. 值得注意的是,方法重载只有通过参数不同来判断调用哪个方法, ...

  10. Apache kylin 入门

    本篇文章就概念.工作机制.数据备份.优势与不足4个方面详细介绍了Apache Kylin. Apache Kylin 简介 1. Apache kylin 是一个开源的海量数据分布式预处理引擎.它通过 ...