0

我知道我们可以使用“<”或“>”来比较hive表中的分区,甚至pt是字符串的类型,它代表日期。像这样:

WHERE page_views.date >= '2008-03-01' AND page_views.date <= '2008-03-31'

Hive 可以用我们想要的正确方式来做到这一点。

我的问题是蜂巢如何做到这一点,为什么它可以通过正确的方式比较日期字符串?

谢谢!

4

1 回答 1

1

在 Hive 中,分区是一种实现选择性扫描的方式,因此每个分区都会有一个或多个文件构成它。当您使用分区进行查询时,它会更快,因为 Hive 知道它需要扫描哪些文件,哪些不需要。在您的情况下,Hive 可以理解顺序,即使它是一个字符串,因为您的字段采用“yyyy-MM-dd”格式,如果您使用其他日期格式,例如“MM-dd-”,字典顺序匹配日期顺序yyyy',它不会工作。

于 2012-10-18T05:17:28.113 回答