public class SlopBlockSplitter extends AbstractSplitter
SlopBlockSplitter
は、少なくともブロック境界で大まかに分割し、最後のブロックのサイズが小さすぎる場合に、最後のブロックを前のブロックと結合できるようにする Splitter
です。この最後のブロックオーバーフローがどのくらい大きくなるかという動作は、スロップ係数によって制御されます。デフォルトのスロップ係数は 1.1 であり、最後のブロックが 10% オーバーフローすることを許可します。
修飾子と型 | フィールドと説明 |
---|---|
protected static double | DEFAULT_SPLIT_SLOP |
コンストラクターと説明 |
---|
SlopBlockSplitter() 新しいスロップブロックスプリッターをインスタンス化します。 |
SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration) 新しいスロップブロックスプリッターをインスタンス化します。 |
SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration, long minSplitSize, long maxSplitSize) 新しいスロップブロックスプリッターをインスタンス化します。 |
SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration, long minSplitSize, long maxSplitSize, double slop) 新しいスロップブロックスプリッターをインスタンス化します。 |
修飾子と型 | メソッドと説明 |
---|---|
long | getMaxSplitSize() 最大分割サイズを取得します。 |
long | getMinSplitSize() 最小分割サイズを取得します。 |
java.util.List<Split> | getSplits(org.apache.hadoop.fs.Path path) Path の入力分割を取得します。 |
void | setMaxSplitSize(long maxSplitSize) 最大分割サイズを設定します。 |
void | setMinSplitSize(long minSplitSize) 最小分割サイズを設定します。 |
void | setSlop(double slop) スロップ係数を設定します。 |
buildSplit, computeSplitSize, getBlockIndex, getConfiguration, setConfiguration
protected static final double DEFAULT_SPLIT_SLOP
public SlopBlockSplitter()
public SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration)
configuration
- 構成 public SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration, long minSplitSize, long maxSplitSize)
configuration
- 構成 minSplitSize
- 最小分割サイズ maxSplitSize
- 最大分割サイズ public SlopBlockSplitter(org.apache.hadoop.conf.Configuration configuration, long minSplitSize, long maxSplitSize, double slop)
configuration
- 構成 minSplitSize
- 最小分割サイズ maxSplitSize
- 最大分割サイズ slop
- スロップファクター public java.util.List<Split> getSplits(org.apache.hadoop.fs.Path path) throws java.io.IOException
Splitter
Path
の入力分割を取得します。パスは、分割のリストに分割できるリソースである必要があります。実際の実装では、分割が単一のファイルに強制されるか、ファイルのコレクションに強制されるかを定義します。Splitter
の getSplits
AbstractSplitter
の getSplits
path
- パス java.io.IOException
- I/O 例外が発生したことを通知します。public long getMinSplitSize()
public void setMinSplitSize(long minSplitSize)
minSplitSize
- 新しい最小分割サイズ public long getMaxSplitSize()
public void setMaxSplitSize(long maxSplitSize)
maxSplitSize
- 新しい最大分割サイズ public void setSlop(double slop)
slop
- 新しいスロップファクター