2
私は現在ハイブを使用しており、フィールドuser_idとvalueを持つテーブルを持っています。私は、各user_id内で値を降順に並べ替え、各user_idの上位100レコードだけを出力したいと思います。これは私が使用しようとしていますコードです:私はこのクエリを実行するとグループ内のハイブトップnレコード
DROP TABLE IF EXISTS mytable2
CREATE TABLE mytable2 AS
SELECT * FROM
(SELECT *, rank (user_id) as rank
FROM
(SELECT * from mytable
DISTRIBUTE BY user_id
SORT BY user_id, value DESC)a)b
WHERE rank<101
ORDER BY rank;
はしかし、私は次のエラーを取得する:
FYIError while compiling statement: FAILED: SemanticException [Error 10247]: Missing over clause for function : rank [ERROR_STATUS]
- 私のユーザーIDは英数字です。
誰でも手助けできますか?
ありがとうございます。
エラーメッセージが言うように は以下の通りランク後over
を追加しようと、あなたがランク機能を使用して、エラーを持って、コメント
ありがとうございます - 問題は現在ソートされています。 – Maeve90