【IT168 编译】敲黑板!!!知识点来了:Apache Spark 2.2终于脱掉了“实验”的帽子,可用于实际生产环境。Spark 2.2最大的亮点就是Structured Streamin,它是用于构建Apache Spark 2.0中引入的连续应用程序的高级API,允许应用程序实时做出决策。 根据博客内容,Databricks公司的目标是“更易于构建端到端的流应用程序,以一致和容错的方式与存储、服务系统和批处理作业集成。”
结构化流媒体现在有了一些更高层次的变化:
Kafka Source和Sink: 支持以流式或批量的方式从Apache Kafka中读取和写入数据
Kafka Improvements: 缓存的生产者,从低延迟Kafka到Kafka流
Additional Stateful API: 使用MapGroupsWithState支持复杂的状态处理和超时处理
Run Once Triggers: 允许触发仅一次执行,从而降低集群成本
Apache Spark 2.2概述
SQL和Core API
Apache Spark 2.2增加了许多SQL功能:
API更新: 统一数据源和hive serde表的CREATE TABLE语法,并为SQL查询添加广播提示,如BROADCAST,BROADCASTJOIN和MAPJOIN
总体性能和稳定性:
基于成本优化器的过滤、连接、聚合、项目和限制/样本运算符的基数估计以及基于成本的连接重新排序
使用星型模式的TPC-DS性能提升
CSV和JSON的文件列表/ IO改进
支持HiveUDAFF功能的部分聚合
引入基于JVM对象的聚合运算符
其他显着变化:
支持解析多行JSON和CSV文件
分析分区表上的表命令
MLlib和SparkR
MLlib和GraphX中添加了这些新算法:
Spark 2.2还增加了对SparkR中分布式算法的支持:
Databricks软件工程师Xiangrui Meng:MLlib的 使命 是让机器学习变得容易和可扩展。我们希望使数据科学家和机器学习工程师都能够轻松构建真实的机器学习(ML)管道。Spark MLlib让数据科学家和机器学习工程师的生活更轻松,从而可以专注于建立更好的ML模型和应用。我们也希望MLlib能够收集拥有更多数据,从更大规模的数据集中学习和挖掘更多价值。