`
m635674608
  • 浏览: 4930100 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spark SQL小结

 
阅读更多

在2014年7月1日的Spark Summit上,Databricks宣布终止对Shark的开发,将重点放到Spark SQL上。Databricks表示,Spark SQL将涵盖Shark的所有特性,用户可以从Shark 0.9进行无缝的升级。现在Databricks推广的Shark相关项目一共有两个,分别是Spark SQL和新的Hive on Spark(HIVE-7292)。如下图所示:
spark sql his

Spark SQL运行以SQL的方式来操作数据,类似Hive和Pig。其核心组件为一种新类型的RDD——JavaSchemaRDD,一个JavaSchemaRDD就好比传统关系型数据库中的一张表。JavaSchemaRDD可以从已有的RDD创建,还可以从Parquet文件、JSON数据集、HIVE、普通数据文件中创建。但现阶段(1.0.2版本)的Spark SQL还是alpha版,日后的API难免会发生变化,所以是否要使用该功能,现阶段还值得商榷。

程序示例

Bean,必须要有get方法,底层采用反射来获取各属性。

 

 

 

Spark SQL示例

 

 

运行结果

 

people.txt文件内容

 

 

使用Parquet Files

Parquet文件允许将schema信息和数据信息固化在磁盘上,以供下一次的读取。

 

运行结果

 

 

可以看到输出属性的顺序和Bean中的不一样,此处猜测可能采用的字典序,但未经过测试证实。

JSON数据集

Spark SQL还可以采用JSON格式的文件作为输入源。people.json文件内容如下:

 

 

将上方程序示例中代码行8-14行替换为下方代码即可:

 

运行结果与上文相同。此外还可以用如下方式加载JSON数据:

 

 

连接Hive

Spark SQL运行使用SQL语句来读写Hive的数据,但由于Hive的依赖包过多,默认情况下要连接Hive需要自行添加相关的依赖包。可以使用以下命令来生成一个含有Hive依赖的Jar,而此Jar必须分发到Spark集群中的每一台机器上去。

 

最后将Hive的配置文件拷贝至conf文件夹下即可。官方Hive使用示例:

 

 

总结

Spark SQL将原本就已经封装的很好的Spark原语的使用再简化了一次,使得懂SQL语句的运维人员都可以通过Spark SQL来进行大数据分析。目前来说Spark SQL还处于alpha版本,对于开发人员的意义不大,静观后续的变化。

 

http://blog.selfup.cn/657.html

分享到:
评论

相关推荐

    Learning Spark SQL epub

    Learning Spark SQL 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Spark SQL操作JSON字段的小技巧

    主要给大家介绍了关于Spark SQL操作JSON字段的小技巧,文中通过示例代码介绍的非常详细,对大家学习或者使用spark sql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    Spark SQL常见4种数据源详解

    Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。 Spark SQL的默认数据源为Parquet...

    2015 Spark技术峰会-Spark SQL结构化数据分析-连城

    Databrciks工程师,Spark Committer,Spark SQL主要开发者之一的连城详细解读了“Spark SQL结构化数据分析”。他介绍了Spark1.3版本中的很多新特性。重点介绍了DataFrame。其从SchemaRDD演变而来,提供了更加高层...

    Spark SQL 教学讲解PPT

    参考Spark官网以及一些文献,制作的Spark SQL教学幻灯片,适合进行Spark入门介绍与教学!所有的Spark教学系列都在我的资源内!

    Spark SQL 实验

    Spark SQL 详细介绍 实验介绍 有需要的尽快下载吧

    Spark SQL 表达式计算

    表达式计算在Spark SQL中随处可见,本演讲将简介表达式、UDF、UDAF、UDTF的概念,主要的API,以及如何扩展Spark SQL函数库。本演讲还将提及Catalyst在计划阶段和Project Tungsten在执行层做的优化,以及未来性能提升...

    Learning Spark SQL - Aurobindo Sarkar

    Learning Spark SQL - Aurobindo Sarka

    Spark SQL分批入库

    List<row> list= spark.sql(sql).collectAsList(),获或者其他方法将数据存在List里面,然后就list转为 Dataset分批入库

    Spark SQL操作大全.zip

    Spark SQL操作大全.zip

    spark sql解析-源码分析

    spark-sql解析-源码分析

    Spark SQL源码概览.zip

    Spark SQL源码概览.zip Spark SQL源码概览.zip Spark SQL源码概览.zip Spark SQL源码概览.zipSpark SQL源码概览.zip

    实训指导书_使用Spark SQL进行法律服务网站数据分析.zip

    实训指导书_使用Spark SQL进行法律服务网站数据分析.zip

    基于成本的Spark SQL优化器框架

    我们把基于成本的优化器框架贡献给社区版本Spark 2.2。...这个基于成本的优化器框架对Spark SQL查询的性能有很好的提升 。在这次演讲中,我们将展示Spark SQL的新的基于成本的优化器框架及其对TPC-DS查询的性能影响。

    Learning-Spark-SQL.epub

    the basics of Spark SQL and its role in Spark applications. After the initial familiarization with Spark SQL, we will focus on using Spark SQL to execute tasks that are common to all big data projects

    Spark SQL源码概览.pdf

    Spark SQL 包含 3 个子项目:Core、Catalyst、Hive。其中 Catalyst 是核心的查询优化引 擎,独立于 Spark 平台;Spark SQL Core 封装 Catalyst,向应用程序提供 SparkSession、Dataset、 DataFrame 等 API...

    《Spark SQL编程指南(v1.1.0)

    spark官文文档翻译有关spark SQL编程指南,spark SQL是以测试组件,有关api的介绍

    Spark SQL 2.3.0:深入浅出

    Spark SQL 2.3.0:深入浅出,看了下,还行,希望对大家有帮助

Global site tag (gtag.js) - Google Analytics