sparkSQL讲解

官网文档:http://spark.apache.org/docs/latest/sql-programming-guide.html

我觉得官方文档很详细,研究完文档,再加点个人开发经验,玩转sparkSQL妥妥的呀!哈哈...

Spark SQL,DataFrames和Datasets Guide

Spark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部,Spark SQL使用此额外信息来执行额外的优化。有几种与Spark SQL交互的方法,包括SQL和Dataset API。在计算结果时,使用相同的执行引擎,与您用于表达计算的API /语言无关。这种统一意味着开发人员可以轻松地在不同的API之间来回切换,从而提供表达给定转换的最自然的方式。

所有的在这个页使用的样本数据的示例中包括在所述火花分布,并且可以在运行spark-shellpyspark壳,或sparkR外壳。

SQL

Spark SQL的一个用途是执行SQL查询。Spark SQL还可用于从现有Hive安装中读取数据。有关如何配置此功能的更多信息,请参阅Hive Tables部分。从其他编程语言中运行SQL时,结果将作为数据集/数据框返回。您还可以使用命令行 或JDBC / ODBC与SQL接口进行交互。

数据集和数据框架

数据集是分布式数据集合。数据集是Spark 1.6中添加的一个新接口,它提供了RDD的优势(强类型,使用强大的lambda函数的能力)和Spark SQL优化执行引擎的优点。数据集可以被构造从JVM对象,然后使用功能性的转换(操作mapflatMapfilter等等)。数据集API在Scala和 Java中可用。Python没有对Dataset API的支持。但由于Python的动态特性,数据集API的许多好处已经可用(即您可以自然地按名称访问行的字段 row.columnName)。R的情况类似。

DataFrame是一个组织成命名列的数据集。它在概念上等同于关系数据库中的表或R / Python中的数据框,但在底层具有更丰富的优化。DataFrame可以从多种来源构建,例如:结构化数据文件,Hive中的表,外部数据库或现有RDD。DataFrame API在Scala,Java,PythonR中可用。在Scala和Java中,DataFrame由Rows 的数据集表示。在Scala API中DataFrame它只是一个类型别名Dataset[Row]。而在Java API中,用户需要使用Dataset<Row>来表示DataFrame

 

            http://spark.apache.org/docs/latest/api/scala/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉进悬崖的狼

请博主喝杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值