TreasureDataでSQL流そうと思ったら表題のエラーに見舞われたので、どうしたものかなと思っていたらHiveの問題でした。
hadoop - Hive Union Group By Error - Stack Overflow
select COUNT(distinct primary), COUNT(primary), mycolumn from (select primary, mycolumn from mytablea where mycolumn >= a and mycolumn <= b union all select primary, mycolumn from mytableb where mycolumn >= a and mycolumn <= b) group by mycolumn
サブクエリでエイリアスをつけないとだめなんだって。
正しくは、こう。
select COUNT(distinct primary), COUNT(primary), mycolumn from (select primary, mycolumn from mytablea where mycolumn >= a and mycolumn <= b union all select primary, mycolumn from mytableb where mycolumn >= a and mycolumn <= b) m group by mycolumn