hive 如何管理基于非 Tez 和非 MapReduce 的查询
How hive manage the Non-Tez and Non-MapReduce based queries
Create table t1(id int)
我在 Hive 2.3.6 (MapR Hadoop Distribution 6.3.0) 上触发上述查询。
默认配置单元引擎是 tez。
因此,在触发查询后,我无法看到任何 TEZ 应用程序在 yarn 资源管理器 Web ui
上启动
所以我将执行引擎更改为 MapReduce。
set hive.execution.engine=mr
并再次尝试 运行 相同的查询。
同样,我无法看到在 yarn 资源管理器 Web ui
上启动了任何 MR 应用程序
所以我的问题是 hive 如何管理此类查询?
以及此查询的详细信息(如应用程序 ID、开始时间等)存储在哪里?
create table
- 仅为元数据操作,未处理数据。它在 Metastore 数据库中创建记录,不需要像 Tez 或 MR 这样的分布式处理框架,不使用 Yarn。
编译器仅在可能的情况下将 DDL 转换为 Metastore 查询。
另外一些简单的 DQL 查询也可以仅在存在统计信息且启用此功能的情况下作为元存储执行:,无需使用 Tez 或 MR。
也可以在没有分布式框架的情况下查询小表,使用fetch-only任务,看这个:
Create table t1(id int)
我在 Hive 2.3.6 (MapR Hadoop Distribution 6.3.0) 上触发上述查询。
默认配置单元引擎是 tez。 因此,在触发查询后,我无法看到任何 TEZ 应用程序在 yarn 资源管理器 Web ui
上启动所以我将执行引擎更改为 MapReduce。
set hive.execution.engine=mr
并再次尝试 运行 相同的查询。 同样,我无法看到在 yarn 资源管理器 Web ui
上启动了任何 MR 应用程序所以我的问题是 hive 如何管理此类查询? 以及此查询的详细信息(如应用程序 ID、开始时间等)存储在哪里?
create table
- 仅为元数据操作,未处理数据。它在 Metastore 数据库中创建记录,不需要像 Tez 或 MR 这样的分布式处理框架,不使用 Yarn。
编译器仅在可能的情况下将 DDL 转换为 Metastore 查询。
另外一些简单的 DQL 查询也可以仅在存在统计信息且启用此功能的情况下作为元存储执行:,无需使用 Tez 或 MR。
也可以在没有分布式框架的情况下查询小表,使用fetch-only任务,看这个: