2017-04-01 10 views
0

ハイブに(col2の16個のバケットで)バケット化されたパーティションテーブル(col1)があります。レデューサーの仕事は産んでいますか?ハイブのパーティションとバケットテーブルのマップと削減タスクの数

+0

の詳細を見つけることができますかこれらのファイルにいくつのHDFSブロックがありますか?または、ORC/Parquetのような複雑な列形式を使用する場合、ファイル内に何個のストライプがあるのでしょうか?これらはマッパーの並列処理の単位です。 Reducersに関しては、まあ、それは依存します! –

答えて

0

入力テーブルの入力分割ごとに、入力分割のデフォルトサイズがブロックサイズになる1つのマッパーがディスパッチされます。

mapreduce.input.fileinputformat.split.maxsizeおよびmapreduce.input.fileinputformat.split.minsizeプロパティを変更すると、マッパーの数を変更できます。

ハイブのレデューサーの数については、デフォルトではhive.exec.reducers.bytes.per.reducerプロパティを使用して計算されます(デフォルト値は1GB)。

上記のプロパティを変更することで、減速機の数を設定することができます。それでも、mapred.reduce.tasksプロパティーを使用して、ジョブの一定数の減速機を設定することもできます。

あなたはどのように多くのHDFSデータファイルは、あなたのWHERE句のスコープ内のパーティション/バケツに存在している?以下のリンク

How hadoop decides how many nodes will do map and reduce tasks

関連する問題