我有2TB的手机记录,大约180万用户的330亿次阅读。
我已经在用户 ID 上创建了一个分区。
Impala 创建许多名为 userid=XXXXX
的子目录。
这看起来像是对 180 万个子目录进行了过度分区。有没有办法必须对数字范围或数组进行分区?
最佳答案
目前 Impala 没有任何类型的范围分区。因此,您需要在表中的不同列上进行分区,这将创建更少的分区。或者作为一种解决方法,您可以在表中添加一个附加列,该列存储您想要为每个记录指定的范围,然后在“范围”列上进行分区。示例:您有一条记录,其中包含字段 user_id=1234,该记录也包含您范围内的字段 user_range=0_100000,您可以将其用于分区。
关于cloudera - impala 使用 < 或 > 条件进行分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482121/