| set hive.stats.column.autogather=false; |
| set hive.mapred.mode=nonstrict; |
| set hive.explain.user=false; |
| set hive.stats.dbclass=fs; |
| set hive.compute.query.using.stats=true; |
| set hive.stats.autogather=true; |
| set hive.stats.fetch.column.stats=true; |
| CREATE TABLE temps_null(a double, b int, c STRING, d smallint) STORED AS TEXTFILE; |
| |
| CREATE TABLE stats_null(a double, b int, c STRING, d smallint) STORED AS TEXTFILE; |
| |
| CREATE TABLE stats_null_part(a double, b int, c STRING, d smallint) partitioned by (dt string) STORED AS TEXTFILE; |
| |
| LOAD DATA LOCAL INPATH '../../data/files/null.txt' INTO TABLE temps_null; |
| |
| insert overwrite table stats_null select * from temps_null; |
| insert into table stats_null_part partition(dt='2010') select * from temps_null where d <=5; |
| |
| insert into table stats_null_part partition(dt='2011') select * from temps_null where d > 5; |
| explain |
| select count(*), count(a), count(b), count(c), count(d) from stats_null; |
| explain |
| select count(*), count(a), count(b), count(c), count(d) from stats_null_part; |
| |
| |
| analyze table stats_null compute statistics for columns a,b,c,d; |
| analyze table stats_null_part partition(dt='2010') compute statistics for columns a,b,c,d; |
| analyze table stats_null_part partition(dt='2011') compute statistics for columns a,b,c,d; |
| |
| describe formatted stats_null_part partition (dt='2010'); |
| describe formatted stats_null_part partition (dt='2011'); |
| |
| explain |
| select count(*), count(a), count(b), count(c), count(d) from stats_null; |
| explain |
| select count(*), count(a), count(b), count(c), count(d) from stats_null_part; |
| |
| |
| select count(*), count(a), count(b), count(c), count(d) from stats_null; |
| select count(*), count(a), count(b), count(c), count(d) from stats_null_part; |
| |
| drop table stats_null_part; |
| CREATE TABLE stats_null_part(a double, b int, c STRING, d smallint) partitioned by (dt int) STORED AS TEXTFILE; |
| |
| insert into table stats_null_part partition(dt) select a,b,c,d,b from temps_null ; |
| analyze table stats_null_part compute statistics for columns; |
| |
| describe formatted stats_null_part partition(dt = 1) a; |
| |
| reset hive.exec.dynamic.partition.mode; |
| drop table stats_null; |
| drop table stats_null_part; |
| drop table temps_null; |
| set hive.compute.query.using.stats=false; |
| |
| reset hive.stats.fetch.column.stats; |