Create table t1(id int)
我在Hive 2.3.6(MapR Hadoop Distribution 6.3.0(上启动了上述查询。
默认配置单元引擎为tez。因此,在启动查询后,我无法看到任何TEZ应用程序在纱线资源管理器web ui上启动
因此,我将执行引擎更改为MapReduce。
set hive.execution.engine=mr
并尝试再次运行相同的查询。同样,我没有看到任何MR应用程序在纱线资源管理器web ui上启动
所以我的问题是hive如何管理此类查询?这些查询的详细信息存储在哪里,比如应用程序id、开始时间等等?
create table
-仅为元数据操作,不处理数据。它在元存储数据库中创建记录,不需要像Tez或MR这样的分布式处理框架,也不使用Yarn。
编译器仅在可能的情况下将DDL转换为元存储查询。
此外,只有在存在统计信息并且启用了此功能的情况下,一些简单的DQL查询才能作为元存储执行:https://stackoverflow.com/a/41021682/2700344,而不使用Tez或MR
同样,在没有分布式框架的情况下,可以使用仅获取任务来查询小表,请参阅:为什么Hive中的获取任务比仅映射任务工作得更快?