具有 < 或 > 条件的 impala 分区
Posted
技术标签:
【中文标题】具有 < 或 > 条件的 impala 分区【英文标题】:impala partitions with < or > conditions 【发布时间】:2016-04-07 16:31:30 【问题描述】:我有 2TB 的手机记录,大约 180 万用户的 330 亿次读数。
我在用户 ID 上创建了一个分区。
Impala 创建了许多名为userid=XXXXX
的子目录。
这似乎超过了 180 万个子目录的分区。有没有办法让分区具有范围或数字数组?
【问题讨论】:
【参考方案1】:目前 Impala 没有任何类型的范围分区。因此,您将需要在表中创建更少分区的不同列上进行分区。或者作为一种解决方法,您可以向表中添加一个附加列,该列存储您想要为每条记录指定的范围,然后在“范围”列上进行分区。示例:您有一个字段为 user_id=1234 的记录,然后该字段也将包含一个范围为 user_range=0_100000 的字段,您可以将其用于分区。
【讨论】:
以上是关于具有 < 或 > 条件的 impala 分区的主要内容,如果未能解决你的问题,请参考以下文章
如何在 impala 或 hive 上读取复杂类型数组<string>?
SQL/Impala:将多个查询(具有不同的 where 子句)合并为一个