Apache Spark 2.2.0新特性介绍(转载)
这个版本是 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_json, from_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新特性介绍(转载)的更多相关文章
- Apache Spark 2.2.0 新特性详细介绍
本章内容: 待整理 参考文献: Apache Spark 2.2.0新特性详细介绍 Introducing Apache Spark 2.2
- Apache Spark 2.3.0 重要特性介绍
文章标题 Introducing Apache Spark 2.3 Apache Spark 2.3 介绍 Now Available on Databricks Runtime 4.0 现在可以在D ...
- Apache Spark 1.6公布(新特性介绍)
Apache Spark 1.6公布 CSDN大数据 | 2016-01-06 17:34 今天我们很高兴可以公布Apache Spark 1.6,通过该版本号,Spark在社区开发中达到一个重要的里 ...
- Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性
Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 Apache hadoop 项目组最新消息,hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+ ...
- webpack 4.0.0-beta.0 新特性介绍
webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...
- Pivotal Greenplum 6.0 新特性介绍
Pivotal Greenplum 6.0 新特性介绍 在1月12日举办的Greenplum开源有道智数未来技术研讨会上,Pivotal中国研发中心Greenplum 产品经理李阳向大家介绍了Pi ...
- [转帖]Pivotal Greenplum 6.0 新特性介绍
Pivotal Greenplum 6.0 新特性介绍 https://cloud.tencent.com/developer/news/391063 原来 greenplum 也是基于pg研发的. ...
- 【c#】6.0与7.0新特性介绍记录
c#发展史 引用地址:https://www.cnblogs.com/ShaYeBlog/p/3661424.html 6.0新特性 1.字符串拼接优化 语法格式:$”string {参数}” 解释: ...
- Apache Cassandra 4.0新特性介绍
引言 大家好,我是蔡一凡,是Cassandra的贡献者之一.(虽然我不便透露我的公司名称),但目前我们公司Cassandra的部署是全世界最大的之一,Cassandra在我们公司也有很多的应用. Ca ...
随机推荐
- Android为TV端助力 apk静默安装
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢 ...
- Android包管理机制(一) PackageInstaller的初始化
前言 包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一. 包指的是Apk.jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一 ...
- js验证码实现
<script language="javascript"> var code; //在全局 定义验证码 function createCode() { //创建验证码 ...
- CentOS7中启动Tomcat后,8080端口不能被外部访问的解决办法。
运行:/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
- WebAPI接口设计:SwaggerUI文档 / 统一响应格式 / 统一异常处理 / 统一权限验证
为什么还要写这类文章?因为我看过网上很多讲解的都不够全面,而本文结合实际工作讲解了swaggerui文档,统一响应格式,异常处理,权限验证等常用模块,并提供一套完善的案例源代码,在实际工作中可直接参考 ...
- Python爬虫之Urllib库的基本使用
# get请求 import urllib.request response = urllib.request.urlopen("http://www.baidu.com") pr ...
- MySQL 系列(四) 主从复制、读写分离、模拟宕机、备份恢复方案生产环境实战
本章内容: 主从复制 简介原理 备份主库及恢复从库,配置从库生效 读写分离 如果主宕机了,怎么办? 双主的情况 MySQL 备份及恢复方案 备份单个及多个数据库 mysqldump 的常用参数 如何增 ...
- 第六章 第一个Linux驱动程序: 统计单词个数
一.编写Linux驱动程序的步骤 第1 步:建立Linux 驱动骨架(装载和卸载Linux 驱动) 骨架部分主要是Linux驱动的初始化和退出函数,代码如下: #include <linux/m ...
- SQLServer插入数据
使用数据库管理工具插入数据 打开数据库,选则要插入数据的表->右键点击->选择插入前200行->在右边视图中输入要插入的数据(如果字段设置为不为空,则必须输入,如果字段设置为可空,则 ...
- 聚类——KFCM的matlab程序
聚类——KFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——KFCM文章中已介绍了KFCM-F算法的理论知识,现在用m ...