各位好,我是做分析的,因为工作需要自己学习在我们的数据提供方所提供的ORACLE 和HIVE数据库中取数和做简单的数据探索,因此 SQL和HIVE SQL 都是自学尚未成才阶段。问题可能白痴,请勿见怪。
一、设定:
同一个数据表,在oracle上一份,在hive上一份。
二、目的:
将查询结果创建新表保存,语句如下:
CREATE TABLE dldffx_33401 AS SELECT * FROM dldffx t WHERE ORG_NO LIKE '33401%'
三、试验过程及结果:
1. HIVE 上:
1.1 用 SELECT COUNT(*) FROM dldffx_33401 得知,在创建的新表 dldffx_33401中,记录数是 8,626,398 个;
1.2 再看直接查询出来的子集:SELECT COUNT(*) FROM dldffx t WHERE ORG_NO LIKE '33401%' ,则 结果返回为 8,626,390 个;
2. 在ORACLE上,上述两种方法的结果都是 8,626,390 个。
四、问题:
要请教的是,这个HIVE上的记录数不一致可能是什么原因呢?为什么ORACLE上会是相符的呢?
非常感谢!