是否可以在没有 Hive 的情况下将 Spark 与 ORC 文件格式一起使用?

Is it possible to use Spark with ORC file format without Hive?

我正在使用 HDP 2.6.4,更具体地说是 Hive 1.2.1 和 TEZ 0.7.0,Spark 2.2.0。

我的任务很简单。以 ORC 文件格式存储数据,然后使用 Spark 处理数据。为此,我正在这样做:

  1. 通过 HiveQL
  2. 创建 Hive table
  3. 使用Spark.SQL("select ... from ...")将数据加载到dataframe
  4. 针对数据框进行处理

我的问题是: 1、Hive在幕后的作用是什么? 2. 是否可以跳过Hive?

您可以跳过 Hive 并使用 SparkSQL 来运行步骤 1 中的命令

在您的情况下,Hive 正在为您的数据定义一个模式,并为您提供一个查询层供 Spark 和外部客户端进行通信

否则,spark.orc 存在用于直接在文件系统上读取和写入数据帧