hive在执行elect count(*) 没有数据显示为0(实际有数据)

set hive.compute.query.using.stats=false; 是 Hive 的一个配置选项。它的含义是禁用 Hive 在执行查询时使用统计信息。

在 Hive 中,统计信息用于优化查询计划和执行。当该选项设置为 false 时,Hive 将不会使用任何统计信息来帮助决定查询的执行计划。这可能会导致查询的执行效率下降,尤其是在处理大型数据集时。

禁用统计信息的主要原因是统计信息可能不准确或过时,或者在某些情况下,使用统计信息并不会带来明显的性能提升。因此,禁用统计信息可以使查询的执行计划更加稳定,而不会受到统计信息本身的影响。

但需要注意的是,禁用统计信息可能会导致查询的性能下降。如果你发现查询的执行速度变慢,你可以尝试重新启用统计信息来优化查询计划。

要启用统计信息,可以使用以下方式之一:

设置为 true:set hive.compute.query.using.stats=true;

使用 ANALYZE TABLE 命令生成和收集表的统计信息。

现象:

建表以location的方式加载数据,此时元数据还没有记录新的数据,当执行 count(*) 时,系统会自动到元数据中读取数据,此时元数据是没有数据的。

相关推荐
奇点爆破XC14 小时前
Hadoop大数据生态(Ambari管理)组件服务详解
大数据·hadoop·ambari
isNotNullX15 小时前
企业数据中台建设,ETL工具选错了会踩哪些坑?
数据仓库·etl·原型模式
SelectDB技术团队17 小时前
预约发布会|核心产品力首发,如何构建面向 Agent 时代的企业级数据引擎
数据库·数据仓库·人工智能·数据分析·可观测·apache doris·selectdb
段一凡-华北理工大学18 小时前
工业领域的Hadoop架构学习~系列文章22:Hadoop生态展望 - 面向未来的技术演进
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
Nefu_lyh18 小时前
【Hive】六、Hive 运算逻辑:数学 / 逻辑 / 条件 / 日期 / 字符串函数
数据仓库·hive·hadoop
ChaITSimpleLove18 小时前
Etl.Net 2.2.0 项目深度分析
数据仓库·.net·etl·大数据处理·数据管道·数据处理引擎
知识分享小能手19 小时前
Hadoop学习教程,从入门到精通, HDFS分布式文件系统 — 完整知识点与案例代码(3)
hadoop·学习·hdfs
陆水A1 天前
【实时数仓·3】Flink多表JOIN状态爆炸——Event Time Temporal JOIN + TTL分层治理
大数据·数据仓库·数据分析·flink·数据库开发·bigdata
段一凡-华北理工大学2 天前
工业领域的Hadoop架构学习~系列文章20:故障诊断与根因分析 - 从表象到本质的智能推理
大数据·人工智能·hadoop·学习·架构·高炉炼铁·工业智能体
Francek Chen2 天前
【大数据处理与分析】MapReduce:05 MapReduce的具体应用
大数据·hadoop·分布式·mapreduce