这个版本是 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. 【效率工具】史上最好用的SSH一键登录脚本,超强更新!

    说明 虽然已经是凌晨,但丝毫不能掩盖我激动的心情,今天完成了对GotoSSH的一次大更新,新增了两个肥肠实用的功能,我只能说,是真的好用,话不多说,先来看效果图: 普通的一键登录: 一键登录跳板机,然 ...

  2. ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用

    一.前言 1.本文主要内容 Visual Studio Code 开发环境配置 使用 ASP.NET Core 构建Web应用 ASP.NET Core Web 应用启动类说明 ASP.NET Cor ...

  3. 如何定位那些SQL产生了大量的redo日志

    在ORACLE数据库的管理.维护过程中,偶尔会遇到归档日志暴增的情况,也就是说一些SQL语句产生了大量的redo log,那么如何跟踪.定位哪些SQL语句生成了大量的redo log日志呢? 下面这篇 ...

  4. MyBatis笔记----MyBatis 入门经典的两个例子: XML 定义与注解定义

    ----致敬MyBatis官方开放文档让大家翻译,不用看书直接看文档就行了,mybatis的中文文档还需要完备的地方 简介 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以 ...

  5. asp.net 调用 WNetAddConnection2 window api 访问被拒绝

    通过Asp.net 程序调用局域网另外一台机器文件,显示拒绝访问,单独编写控制台程序正常. 修改iis 应用程序池标识,为管理员用户即可!!

  6. iOS application/json上传文件等

    在和sever后台交互的过程中.有时候.他们需要我们iOS开发者以“application/json”形式上传. NSString *accessUrl = [NSString stringWithF ...

  7. powershell脚本之windows服务与进程

    powershell脚本之windows服务与进程 服务与进程的区别: Windows服务是指系统自动完成的,不需要和用户交互的过程,可长时间运行的可执行应用程序 进程是程序运行的实例,系统会给运行中 ...

  8. 【RHEL7.0】软件包管理

    1.常用的RPM软件包命令 安装软件的命令格式  rpm –ivh filename.rpm 升级软件的命令格式  rpm –Uvh filename.rpm 卸载软件的命令格式  rpm –e fi ...

  9. C# -- 使用递归列出文件夹目录及目录下的文件

    使用递归列出文件夹目录及目录的下文件 1.使用递归列出文件夹目录及目录下文件,并将文件目录结构在TreeView控件中显示出来. 新建一个WinForm应用程序,放置一个TreeView控件: 代码实 ...

  10. 英语初级学习系列-00-Hello-打招呼

    开场白 当二咪过生日的时候,作为主人公(host)该如何开场呢? 1. Good evening, ladies and gentlemen. 先生们女士们,晚上好. 2. Welcome to my ...