では、私はハイブで次のクエリを実行しようとしていない:Hadoopの - ハイブサブクエリ - 箇条
SELECT COUNT(*)
FROM mydata
WHERE store NOT IN (SELECT store_out
FROM (SELECT a.store as store_out, COUNT(*) AS CNT
FROM mydata a
GROUP BY store) TB1
WHERE CNT > AVG(CNT) + STDDEV(CNT) AND CNT < AVG(CNT) - STDDEV(CNT))
をしかし、私は次のエラーを取得しています:
Error while compiling statement: FAILED: SemanticException [Error 10249]: Line 3:6 Unsupported SubQuery Expression 'store': Correlating expression cannot contain unqualified column references.
どのようにすることができます私は別の方法でこのクエリを書いていますか?
ありがとうございます!私はこれを確認するのは難しいですので、あなたがデータを正確ではありませんが、私は
SELECT COUNT(*)
FROM (
SELECT a.*
, flg
FROM mydata a
LEFT OUTER JOIN (
SELECT store_out, flg
FROM (
SELECT store_out
, cnt
, 1 AS flg
, AVG(cnt) OVER() AS avg_cnt
, STDDEV_SAMP(cnt) OVER() AS std_cnt
FROM (
SELECT store AS store_out
, COUNT(*) AS cnt
FROM mydata
GROUP BY store) x
) y
WHERE cnt > avt_cnt + std_cnt AND cnt < avg_cnt - std_cnt) z
ON a.store = z.store_out) final
WHERE flg IS NULL
ような何かをするだろう
HiveのWHERE句にサブクエリを含めることはできません。 – gobrewers14
ハム...オクラホマ。私はHiveでどのようにクエリを構築できるかを知る必要があります。なにか提案を? –