`
zhao_rock
  • 浏览: 187662 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Spark1.6新特性简介及个人的理解

阅读更多

新的Spark1.6版本发布了,之前使用Spark1.4版本的SparkSQL,这次发布后主要关注了1.6版本的SparkSQL特性
参阅了官方的Release Note和jira issue detail以及之前在使用1.4.0中的经验,
跟大家分享一下Spark1.6部分新加的几个特性。

 

1. Dataset API
目前Spark有两大类API:RDD API(Spark Core),DataFrame API(Spark SQL)
RDD API非常灵活,但是某些情况下执行计划很难被优化。
DataFrame API便于优化,但是操作UDF(Uer Define Function)就比较麻烦(之前在使用时发现想通过DataFrame API去描述SQL语句的业务时,确实有些复杂)。
Dataset API诞生在这样的背景下,需要兼顾以上两者的优点,既能使用户能够简洁清晰的描述UDF,又能够便于底层catalyst对执行计划的优化,
顺便提一下,SPARK-9999的jira case上对Dataset API的目标版本是2.0.0,估计那个时候Dataset API会更加的丰富

 

2. Session Management
集群可以被共享给多个拥有不同配置及临时表的用户,在1个SparkContext中可以有多个SparkSQL的session
之前在使用1.4的时候发现很多SQL下到底层最后都是顺序执行,而且SQL到SQLContext的调度是自己写线程池去处理的,
加入Session管理会给使用提供更大的方便,尤其在处理多并发时。

 

3. Per-operator Metrics for SQL Execution
Spark的metrics已经详细到task及stage上,在上面可以看到很多任务运行的指标,如任务耗时,处理的数据量,等等,
之前通过Metrics提供的信息发现了任务运行时间长的原因
新的特性是在SparkSQL运行时,为每个操作单位提供内存使用量和溢出 (这里应该是指在磁盘和内存上交换的)数据大小的统计显示,
这对于开发者了解资源,发现问题,做出调整很有帮助

 

4. SQL Queries on Files
SQL可以直接在符合数据规则的文件上进行查询,不再像以前需要先将文件注册成临时表

 

5. Reading non-standard JSON files
Spark在处理JSON时使用的Jackson包,这次将Jackson包的以下选项开放给使用者 
ALLOW_COMMENTS
ALLOW_UNQUOTED_FIELD_NAMES
ALLOW_SINGLE_QUOTES
ALLOW_NUMERIC_LEADING_ZEROS
ALLOW_NON_NUMERIC_NUMBERS
除非特殊情况,个人还是更倾向于使用标准json

 

6. Advanced Layout of Cached Data
在对内存表进行扫描时,存储分区和排序方案,同时在DataFrame中添加了根据指定列进行分发和本地排序的API

 

7. All primitive in json can be infer to Strings
通过设置primitivesAsString为true,可以将JSON中的所有原语在Dataframe中指定为字符串类型,即JSON中的数据在Dataframe中统一为字符串

 

参考资料:

官方Release Note
http://spark.apache.org/releases/spark-release-1-6-0.html

0
1
分享到:
评论

相关推荐

    基于Spark1.6使用Spark SQL和sqlite数据库进行诗歌浏览查询和集句的Scala工程源码

    基于Spark1.6,使用Spark SQL框架和sqlite数据库,把唐诗三百首,宋诗三百首和元明清诗精选导入数据库,可以按来源,体裁及作者,方便地查出诗句或试题中包含某个关键字的作品,还可以在选中作品后,进行五绝,七绝...

    Spark2.3新特性首发

    Spark2.3即将发布,会带来哪些新特性及性能提高,尽在databricks超级大牛李老板呕心历血近60页文档,首发!首发!首发!(版权属于DataBricks和smilegator)。

    spark2.3新特性:What's New in Apache Spark 2.3

    介绍spark2.3新特性:What's New in Apache Spark 2.3.

    Hadoop2.6(伪分布式)+Spark1.6环境搭建

    这一两年Spark技术很火,自己也凑一下热闹,主要是为了搭建Spark,但是Spark需要Hadoop的hdfs和yarn,所以需要先搭建Hadoop。本教程在Ubutnu 14.04 64位,Hadoop 2.6.0下验证通过,这里只列出命令与配置,不作详细...

    Spark2.0-新特性介绍PPT

    大数据-Spark,-

    spark-1.6.0-bin-hadoop2.6.tgz

    linux中搭建spark环境使用的spark-1.6.0-bin-hadoop2.6.tgz安装包

    编译spark1.6

    NULL 博文链接:https://genius-bai.iteye.com/blog/2276551

    Spark1.6.0安装与使用

    详细描述了Spark1.6.0的安装过程和使用方法。严格按照教程安装基本上都能成功。与各位同仁共勉。

    Spark2.0新特性

    * 通过whole-stage code generation(全流程代码生成)技术将spark sql和dataset的性能提升2~10倍 * 通过vectorization(向量化)技术提升parquet文件的扫描吞吐量 * 提升orc文件的读写性能 * 提升catalyst查询优化...

    深入理解Spark 核心思想与源码分析

    深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析

    spark3.0入门到精通

    │ 06-[理解]-Spark环境搭建-On-Yarn-两种模式.mp4 │ 07-[掌握]-Spark环境搭建-On-Yarn-两种模式演示.mp4 │ 09-[掌握]-Spark代码开发-准备工作.mp4 │ 10-[重点]-Spark代码开发-入门案例.mp4 ├─Spark-day02 ...

    spark-1.6.3-bin-hadoop2.4-without-hive.tgz

    spark-1.6.3-bin-hadoop2.4-without-hive.tgz 经测试,hadoop 2.8.2下可用。hive2.1.1 可用

    spark1.6.0-src.rar

    spark1.6.0源码 , spark1.6.0-src, 需要下载后自行编译

    spark-1.6.0.zip.001

    官网下载,windows可用, 有001 002 两个部分 ...Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 1.6.0 /_/ Using Scala version 2.10.5 (Java HotSpot(TM...

    Spark的shuffle调优

    spark.shuffle.blockTransferService netty shuffle过程中,传输数据的方式,两种选项,netty或nio,spark 1.2开始,默认就是netty,比较简单而且性能较高,spark 1.5开始nio就是过期的了,而且spark 1.6中会去除掉 ...

    深入理解Spark:核心思想及源码分析.pdf

    深入理解Spark:核心思想及源码分析.pdf 深入理解Spark:核心思想及源码分析.pdf

    spark-1.6.0.zip.002

    官网下载,windows可用, 有001 002 两个部分 ... Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 1.6.0 /_/ ...Using Scala version 2.10.5 (Java HotSpot(TM...

    1.Spark及其生态圈简介.pdf

    1.Spark及其生态圈简介.pdf ...8.SparkMLlib(上)--机器学习及SparkMLlib简介.pdf 8.SparkMLlib(下)--SparkMLlib实战.pdf 9.SparkGraphX介绍及实例.pdf 10.分布式内存文件系统Tachyon介绍及安装部署.pdf

    8.SparkMLlib(上)--机器学习及SparkMLlib简介.pdf

    1.Spark及其生态圈简介.pdf ...8.SparkMLlib(上)--机器学习及SparkMLlib简介.pdf 8.SparkMLlib(下)--SparkMLlib实战.pdf 9.SparkGraphX介绍及实例.pdf 10.分布式内存文件系统Tachyon介绍及安装部署.pdf

    dr-elephant spark 1.6.0 hadoop 2.4.1

    dr-elephant spark 1.6.0 hadoop 2.4.1 编译好的 dr elephant文件 需要part2 中的jar包放入 part1 lib目录下

Global site tag (gtag.js) - Google Analytics