1

Spark コードから HiveContext を使用してハイブ クエリを実行しています。実行するクエリとそのデータ量に関係なく、常に 31 個のパーティションが生成されます。誰も理由を知っていますか?定義済み/構成可能な設定はありますか? 基本的に、より多くのパーティションが必要です。

このコード スニペットを使用してハイブ クエリを実行します。

var pairedRDD = hqlContext.sql(hql).rdd.map(...)

Spark 1.3.1 を使用しています

ありがとう、ニティン

4

1 に答える 1

0

RDD 内のパーティションの数は、それが依存する RDD 内のパーティションの数と同じですが、いくつかの例外があります:合体変換では、親 RDD よりも少ないパーティションで RDD を作成できます。ユニオン変換では、以下の RDD を作成します親のパーティション数の合計であり、cartesianはそれらの積で RDD を作成します。パーティション数を増やすには

  • シャッフルをトリガーする再分割変換を使用します。
  • より多くの分割を作成するように InputFormat を構成します。
  • 入力データをより小さいブロック サイズで HDFS に書き出します。

This link hereには、パーティションの数がどのように定義されているか、およびパーティションの数を増やす方法がよく説明されています。

于 2016-04-27T17:23:33.943 に答える