0
次のハイブクエリを考えてみましょう。Hiveでグループ化しない関数をminveする方法
SELECT
id,
name,
min(from_unixtime(unix_timestamp(), 'yyyy_MM_dd_HH_mm_ss')) as SYSDATE
FROM tablename
私はmin
機能を使用する理由は、私は私のすべてのレコードで同じSYSDATE
を望んでいたということです。ここにmin
を追加しないと、複数のSYSDATE
が表示されることがあります。
私は、クエリを実行しているエラーを得た:
An exception was caught.
Error while compiling statement: FAILED: SemanticException [Error 10025]: Line 3:4 Expression not in GROUP BY key 'name'
だから私は、私のクエリでGROUP BY
を追加し、それが働きました。
SELECT
id,
name,
min(from_unixtime(unix_timestamp(), 'yyyy_MM_dd_HH_mm_ss')) as SYSDATE
FROM tablename
GROUP BY id, name
しかし、20個以上の列がある場合はどうなりますか?それらをすべてGROUP BY
に追加するのは不便ではありませんか?そして、なぜここにGROUP BY
を追加する必要がありますか?私はちょうど一貫性のあるSYSDATE
を全てのレコードに渡りたいと思っています。それを動作させる他の方法はありますか?