0

「<」または「>」を使用してハイブテーブルのパーティションを比較できることはわかっています。ptは文字列のタイプであり、日付を表します。ちょうどこのような:

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

ハイブは私たちが望む正しい方法でそれを行うことができます。

私の質問は、ハイブがこれをどのように行うことができるか、そしてなぜそれが正しい方法で日付文字列を比較できるのかということです。

ありがとう!

4

1 に答える 1

1

Hiveでは、パーティションは選択的スキャンを実現する方法であるため、各パーティションには、それを構成する1つ以上のファイルがあります。パーティションを使用してクエリを実行すると、Hiveはスキャンする必要のあるファイルとスキャンする必要のないファイルを認識しているため、より高速になります。別の日付形式(たとえば、「MM-dd-」)を使用する場合、フィールドは辞書式順序が日付順序と一致する「yyyy-MM-dd」形式であるため、Hiveは、文字列であっても順序を理解できます。 yyyy'、動作しません。

于 2012-10-18T05:17:28.113 に答える