ハイブで以下のように GroupBy 列で組み込みの UDF 関数または独自の UDF 関数を使用しようとすると、エラーが発生するようです
select col1, col2 from xyz group by my_func(col1), col2
それは不平を言い続けcolumn –col1 not found in group by expression
ます。
関数を列に適用すると、同じものと呼ばれなくなります。as
キーワードを使用して明示的に名前を付ける必要があります。
select group1, group2 from xyz group by my_func(col1) as group1, col2 as group2;
また、実際のグループ化されたデータではなく、グループ化する列のみを選択している場合はdistinct
、group by
?
集計関数の呼び出しが間違った場所にあります。次のように作成する必要があります。
col1,col2 で xyz グループから my_func(col1),col2 を選択