Spark SQL 是 Apache Spark 用于处理结构化数据的模块。

集成

无缝地将 SQL 查询与 Spark 程序混合使用。

Spark SQL 允许您使用 SQL 或熟悉的 DataFrame API 在 Spark 程序中查询结构化数据。可在 Java、Scala、Python 和 R 中使用。

results = spark.sql(
  "SELECT * FROM people")
names = results.map(lambda p: p.name)
将函数应用于 SQL 查询的结果。

统一数据访问

以相同的方式连接到任何数据源。

DataFrames 和 SQL 提供了一种通用方式来访问各种数据源,包括 Hive、Avro、Parquet、ORC、JSON 和 JDBC。您甚至可以跨这些源连接数据。

spark.read.json("s3n://...")
  .registerTempTable("json")
results = spark.sql(
  """SELECT *
     FROM people
     JOIN json ..."""
)
查询和连接不同的数据源。

Hive 集成

在现有仓库上运行 SQL 或 HiveQL 查询。

Spark SQL 支持 HiveQL 语法以及 Hive SerDes 和 UDF,允许您访问现有的 Hive 仓库。

Spark SQL 可以使用现有的 Hive 元数据存储、SerDes 和 UDF。

标准连接

通过 JDBC 或 ODBC 连接。

服务器模式为商业智能工具提供行业标准 JDBC 和 ODBC 连接。

使用您现有的 BI 工具查询大数据。

性能 & 可扩展性

Spark SQL 包含基于成本的优化器、列式存储和代码生成,以使查询速度更快。同时,它使用 Spark 引擎扩展到数千个节点和数小时的查询,该引擎提供完整的查询中间故障容错。不用担心为历史数据使用不同的引擎。

社区

Spark SQL 是作为 Apache Spark 的一部分开发的。因此,它在每次 Spark 发布时都会进行测试和更新。

如果您对系统有任何疑问,请在 Spark 邮件列表 上提问。

Spark SQL 开发人员欢迎贡献。如果您想帮忙,请阅读 如何为 Spark 做贡献,并向我们发送补丁!

入门

要开始使用 Spark SQL

最新消息

存档