【Hive 元数据和真实数据-TAB_COL_STATS记录错误问题】
2024-10-21 06:19:13
MySql的元数据以及HDFS上数据的关系
元数据在DBS和TBLS上 (SD_ID)
1 首先通过hive创建一个表table_test
在hdfs的存储路径会生成相应的表
TBLS 也会更新内容进行记录
2 通过hive插入insert一条数据
会走一遍MR,数据产生变化后
TAB_COL_STATS有记录改变(CS_ID)、(TBL_ID)
3 通过hdfs 直接向hive的warehouse上传数据到表中
hadoop fs -put test_table01.txt /user/hive/warehouse/table_test
(就是通过不用hive对表添加数据)
使用select * from table_test
可以查询到数据,但这个时候使用select count(1)
对表进行查询返回的结果不准确,
因为没有走MR,Hive不知道数据的变化
desc formatted 表 查询表信息
numFiles 和numRows 这两个参数
并不会对表进行记录,所以查询结果都为0
4 如果通过hive的 load data 上传就会记录
numFiles和numRows的值
当这两个值不正确或不一致的时候
在去用count(1)查询的话
则会通过MR进行纠错
5 如果都不能保证每次上传数据都通过hive
我们可以通过刷新元数据的方式避免错误
ANALYZE TABLE COMPUTE STATISTICS
最新文章
- EndNote(一)之基本介绍
- centos7安装mysql5.7
- Linux 使用本地yum源及软件包管理
- http 301和302的区别
- DES加密算法
- PyCharm使用技巧记录(一)如何查看变量
- web02--jsp数据传递
- Scala-逻辑判断
- HTTP ->; Asp.net (第一篇)
- ROOT android 原则。 基于(zergRush)
- 编辑器phpstrom的快捷键修改
- ReactiveCocoa源码解析(二) Bag容器的代码实现
- 使用JdbcTemplate 操作PostgreSQL,当where条件中有timestamp类型时,报错operator does not exist: timestamp w/out timezone
- Lodop连续打印内容逐渐偏移怎么办
- kotlin集合操作
- DZY Loves Math(莫比乌斯反演)
- mysql5.7执行sql语句出现only_full_group_by错误
- wpf设置某容器透明,而不应用到容器的子元素的方法
- Linux Terminal Games
- SpringMVC的@RequestParam