SELECT distinct Year FROM bucketed_table tablesample(bucket 1 out of Y on year);
SELECT distinct Year FROM bucketed_table tablesample(bucket 2 out of Y on year);
我们还可以通过使用where子句运行查询来验证计数。 SELECT count() FROM bucketed_table tablesample(bucket 1 out of Y on year); //suppose that bucket 1 stores year X ``` SELECT count() FROM bucketed_table where year=X;
3条答案
按热度按时间bgibtngc1#
我不确定它是否有效,但我认为如果表是由a列、b列聚集到n个桶中的话
hash(a,b)%n
是bucket编号(您可以在hdfs中的文件名中看到它)。如果您不确定,您可以始终插入oevrwrite分区,从其自身和设置中进行选择
hive.force.bucketing
是真的。jaxagkaj2#
如果该桶在cola上分区,那么您可以验证每个桶的计数。假设我们在可乐中储存了数年,那么每个桶只会有一个特定年份的行。我们可以通过运行来验证这一点,看看是否所有的bucket都只有一年的行。
我们还可以通过使用where子句运行查询来验证计数。
SELECT count() FROM bucketed_table tablesample(bucket 1 out of Y on year);
//suppose that bucket 1 stores year X
```SELECT count() FROM bucketed_table where year=X;
sdnqo3pr3#
我希望下面的内容会有所帮助
我从这里得到的
https://cwiki.apache.org/confluence/display/hive/tutorial