在天数的开发生活

Spark SQL

2017-11-13  本文已影响10人  即墨灯火

Spark SQL 是 Spark 处理结构化数据的一个模块.与基础的 Spark RDD API 不同, Spark SQL 提供了查询结构化数据及计算结果等信息的接口.在内部, Spark SQL 使用这个额外的信息去执行额外的优化.有几种方式可以跟 Spark SQL 进行交互, 包括 SQL 和 Dataset API.当使用相同执行引擎进行计算时, 无论使用哪种 API / 语言都可以快速的计算.这种统一意味着开发人员能够在基于提供最自然的方式来表达一个给定的 transformation API 之间实现轻松的来回切换不同的 .

即接入Spart SQL, 需要通过 SQL 和 Dataset API 两种方式。

SQL

Spark SQL 的功能之一是执行 SQL 查询.Spark SQL 也能够被用于从已存在的 Hive 环境中读取数据.更多关于如何配置这个特性的信息, 请参考 Hive 表 这部分. 当以另外的编程语言运行SQL 时, 查询结果将以 Dataset/DataFrame的形式返回.您也可以使用命令行或者通过 JDBC/ODBC与 SQL 接口交互.

Datasets and DataFrames

Why Spark SQL

Spark SQL到底有什么用?

从shark说起。开始shark项目时,hive(MapReduce)还是在hadoop使用SQL的唯一选择。hive编译SQL成为可伸缩MapReduce作业,并且可以工作在各种不同格式下,然而,它达不到预期的性能,为了运行交互式查询,组织需要部署昂贵的专有企业数据仓库(EDWs),严格的和冗长的ETL管道。

Shark推出之初,大量复用了Hive的既有内容。这一点在Spark SQL这里得到改变。Shark逐渐使用Spark SQL,直到0.9版本以后停止更新并建议用户转移到Spark SQL

上一篇 下一篇

猜你喜欢

热点阅读