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

集成

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

Spark SQL 允许您在 Spark 程序中查询结构化数据,可以使用 SQL 或熟悉的 DataFrame API。可在 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

最新消息

归档