ほとんどのテーブルに10Mレコードがあり、各右側テーブルに1Mレコードがある場合、hadoopで3つのテーブルを結合することに問題があります。ほとんどの右のテーブルは、親テーブルと結合されたままになります。ドライバテーブルに10Mレコードがあり、子テーブルが1Mレコードで結合されたままであるhadoopのテーブルの結合に関する問題
SELECT distinct Table1.cid,Table2.gdtyp,Table3.ager,Table3.edcd FROM (SELECT
distinct(cid) FROM Table1 WHERE Table1.orgcd='T002' AND
(Table1.cacttrdt>=19980101 AND Table1.cacttrdt<=20171120) limit 2) Table1
LEFT JOIN Table2 Table2 ON (Table2.cid=Table1.cid) LEFT JOIN Table3 Table3
ON (Table3.cid=Table1.cid)
上記のクエリは、MapReduceの中に立ち往生しています。 自動変換結合をfalseに設定しました。
エラーまたは例外が発生していますか? – sk7979
いいえ、それは何のエラーも与えていない、クエリはステージでスタックして取得しています。4つのステージは、その第3ステージで常に詰まって – Subhasish
実行中にジョブの状態を確認しましたか? エラーが返るのを待ちます。 その他の場合、圧縮技術、ベクトル化、mapjoin(使用することができれば)を適用してからクエリを実行します。 – sk7979