问题:使用ORC复制分区文件夹后行数不正确 文件到另一个外部分区ORC表
我在dev架构中有这个employee表。该表是一个外部分区ORC表。
CREATE EXTERNAL TABLE dev.employee( empid string, empname字符串, update_gmt_ts时间戳) 分居( partition_upd_gmt_ts string) 存储为orc location'/ dev / employee';
我在这些分区文件夹中有orc数据文件。
hdfs dfs -ls / dev / employee
drwxr-xr-x - user1 group1 0 2017-02-08 10:25 / dev / employee / partition_upd_gmt_ts = 201609 drwxr-xr-x - user1 group1 0 2017-02-08 10:24 / dev / employee / partition_upd_gmt_ts = 201610
执行此查询时
从dev.employee中选择count(*),其中1 = 1;
1000 - 正确的行数
我在prod模式中有另一个employee表的表副本。这也是一个外部分区的ORC表。我想将相同的数据也推送到该表中。
CREATE EXTERNAL TABLE prod.employee( empid string, empname字符串, update_gmt_ts时间戳) 分居( partition_upd_gmt_ts string) 存储为orc location'/ prod / employee';
所以我做了一个hdfs拷贝
hdfs dfs -cp / dev / employee / * / prod / employee /
数据已被复制。
hdfs dfs -ls / prod / employee
drwxr-xr-x - user1 group1 0 2017-02-08 10:25 / prod / employee / partition_upd_gmt_ts = 201609 drwxr-xr-x - user1 group1 0 2017-02-08 10:24 / prod / employee / partition_upd_gmt_ts = 201610
但是当我执行计数查询时,我得到零行。
你能帮我解释一下为什么我没有得到与行相同的1000 计数。
从prod.employee中选择count(*),其中1 = 1;
0 - 错误的rowcount