我正在使用HDP 2.6.4,更具体地说是Hive 1.2.1与TEZ 0.7.0,Spark 2.2.0。
我的任务很简单。以ORC文件格式存储数据,然后使用Spark处理数据。为了实现这一目标,我正在这样做:
- 通过 HiveQL 创建 Hive 表
- 使用 Spark.SQL("选择 ...from ..."( 将数据加载到数据帧中
- 针对数据帧的进程
我的问题是: 1. Hive在幕后扮演什么角色? 2. 可以跳过蜂巢吗?
可以跳过 Hive 并使用 SparkSQL 运行步骤 1 中的命令
在你的例子中,Hive 正在为你的数据定义一个架构,并为你提供一个查询层,供 Spark 和外部客户端进行通信。
否则,存在用于直接在文件系统上读取和写入数据帧的spark.orc