可以在没有任何 Map/Reduce (/Yarn) 运行 的情况下针对 Hive 表执行 Spark SQL 吗?

Can Spark SQL be executed against Hive tables without any Map/Reduce (/Yarn) running?

据我了解,Spark SQL 直接读取 hdfs 文件 - 此处不需要 M/R。具体来说,none 的 Map/Reduce 基于 Hadoop Input/OutputFormat 被采用(除了像 HBase 这样的特殊情况)

那么,在正常运行的 Hive 服务器上是否存在任何内置依赖项?还是只需要

用于访问 hive 文件的 hadoop 相关 I/O 格式似乎包括:

Spark SQL/Catalyst 可以读取以这些格式存储的 Hive 表 - 只有 Hive Metastore 服务器 运行 吗?

是的。

Spark SQL Readme 说:

Hive Support (sql/hive) - Includes an extension of SQLContext called HiveContext that allows users to write queries using a subset of HiveQL and access data from a Hive Metastore using Hive SerDes. There are also wrappers that allows users to run queries that include Hive UDFs, UDAFs, and UDTFs.

这是依靠Hive库读取数据实现的。但处理发生在 Spark 内部。所以不需要 MapReduce 或 YARN。