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

最新消息

存档