本文整理汇总了Java中org.apache.hadoop.io.erasurecode.ECBlockGroup类的典型用法代码示例。如果您正苦于以下问题:Java ECBlockGroup类的具体用法?Java ECBlockGroup怎么用?Java ECBlockGroup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ECBlockGroup类属于org.apache.hadoop.io.erasurecode包,在下文中一共展示了ECBlockGroup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: prepareDecodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareDecodingStep(
final ECBlockGroup blockGroup) {
RawErasureDecoder rawDecoder;
RawErasureEncoder rawEncoder;
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
ECBlock[] outputBlocks = getOutputBlocks(blockGroup);
rawDecoder = checkCreateRSRawDecoder();
rawEncoder = checkCreateXorRawEncoder();
return new HHXORErasureDecodingStep(inputBlocks,
getErasedIndexes(inputBlocks), outputBlocks, rawDecoder,
rawEncoder);
}
示例2: getOutputBlocks
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* Which blocks were erased ?
* @param blockGroup
* @return output blocks to recover
*/
protected ECBlock[] getOutputBlocks(ECBlockGroup blockGroup) {
ECBlock[] outputBlocks = new ECBlock[getNumErasedBlocks(blockGroup)];
int idx = 0;
for (int i = 0; i < getNumDataUnits(); i++) {
if (blockGroup.getDataBlocks()[i].isErased()) {
outputBlocks[idx++] = blockGroup.getDataBlocks()[i];
}
}
for (int i = 0; i < getNumParityUnits(); i++) {
if (blockGroup.getParityBlocks()[i].isErased()) {
outputBlocks[idx++] = blockGroup.getParityBlocks()[i];
}
}
return outputBlocks;
}
示例3: prepareEncodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareEncodingStep(
final ECBlockGroup blockGroup) {
RawErasureEncoder rsRawEncoderTmp = checkCreateRSRawEncoder();
RawErasureEncoder xorRawEncoderTmp = checkCreateXorRawEncoder();
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
return new HHXORErasureEncodingStep(inputBlocks,
getOutputBlocks(blockGroup), rsRawEncoderTmp, xorRawEncoderTmp);
}
示例4: prepareDecodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareDecodingStep(
final ECBlockGroup blockGroup) {
RawErasureDecoder rawDecoder = CodecUtil.createXORRawDecoder(getConf(),
getNumDataUnits(), getNumParityUnits());
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
return new ErasureDecodingStep(inputBlocks,
getErasedIndexes(inputBlocks),
getOutputBlocks(blockGroup), rawDecoder);
}
示例5: getOutputBlocks
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* Which blocks were erased ? For XOR it's simple we only allow and return one
* erased block, either data or parity.
* @param blockGroup
* @return output blocks to recover
*/
@Override
protected ECBlock[] getOutputBlocks(ECBlockGroup blockGroup) {
/**
* If more than one blocks (either data or parity) erased, then it's not
* edible to recover. We don't have the check here since it will be done
* by upper level: ErasreCoder call can be avoid if not possible to recover
* at all.
*/
int erasedNum = getNumErasedBlocks(blockGroup);
ECBlock[] outputBlocks = new ECBlock[erasedNum];
int idx = 0;
for (int i = 0; i < getNumParityUnits(); i++) {
if (blockGroup.getParityBlocks()[i].isErased()) {
outputBlocks[idx++] = blockGroup.getParityBlocks()[i];
}
}
for (int i = 0; i < getNumDataUnits(); i++) {
if (blockGroup.getDataBlocks()[i].isErased()) {
outputBlocks[idx++] = blockGroup.getDataBlocks()[i];
}
}
return outputBlocks;
}
示例6: prepareEncodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareEncodingStep(
final ECBlockGroup blockGroup) {
RawErasureEncoder rawEncoder = CodecUtil.createXORRawEncoder(getConf(),
getNumDataUnits(), getNumParityUnits());
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
return new ErasureEncodingStep(inputBlocks,
getOutputBlocks(blockGroup), rawEncoder);
}
示例7: getInputBlocks
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* We have all the data blocks and parity blocks as input blocks for
* recovering by default. It's codec specific
* @param blockGroup
* @return input blocks
*/
protected ECBlock[] getInputBlocks(ECBlockGroup blockGroup) {
ECBlock[] inputBlocks = new ECBlock[getNumDataUnits() +
getNumParityUnits()];
System.arraycopy(blockGroup.getDataBlocks(), 0, inputBlocks,
0, getNumDataUnits());
System.arraycopy(blockGroup.getParityBlocks(), 0, inputBlocks,
getNumDataUnits(), getNumParityUnits());
return inputBlocks;
}
示例8: prepareDecodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareDecodingStep(final ECBlockGroup blockGroup) {
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
ECBlock[] outputBlocks = getOutputBlocks(blockGroup);
RawErasureDecoder rawDecoder = checkCreateRSRawDecoder();
return new ErasureDecodingStep(inputBlocks,
getErasedIndexes(inputBlocks), outputBlocks, rawDecoder);
}
示例9: makeBlockGroup
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* Calculating and organizing BlockGroup, to be called by ECManager
* @param dataBlocks Data blocks to compute parity blocks against
* @param parityBlocks To be computed parity blocks
* @return
*/
public ECBlockGroup makeBlockGroup(ECBlock[] dataBlocks,
ECBlock[] parityBlocks) {
ECBlockGroup blockGroup = new ECBlockGroup(dataBlocks, parityBlocks);
return blockGroup;
}
示例10: prepareBlockGroupForEncoding
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* Prepare a block group for encoding.
* @return
*/
protected ECBlockGroup prepareBlockGroupForEncoding() {
ECBlock[] dataBlocks = new TestBlock[numDataUnits];
ECBlock[] parityBlocks = new TestBlock[numParityUnits];
for (int i = 0; i < numDataUnits; i++) {
dataBlocks[i] = generateDataBlock();
}
for (int i = 0; i < numParityUnits; i++) {
parityBlocks[i] = allocateOutputBlock();
}
return new ECBlockGroup(dataBlocks, parityBlocks);
}
示例11: getInputBlocks
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
/**
* We have all the data blocks and parity blocks as input blocks for
* recovering by default. It's codec specific
* @param blockGroup
* @return
*/
protected ECBlock[] getInputBlocks(ECBlockGroup blockGroup) {
ECBlock[] inputBlocks = new ECBlock[getNumDataUnits() +
getNumParityUnits()];
System.arraycopy(blockGroup.getDataBlocks(), 0, inputBlocks,
0, getNumDataUnits());
System.arraycopy(blockGroup.getParityBlocks(), 0, inputBlocks,
getNumDataUnits(), getNumParityUnits());
return inputBlocks;
}
示例12: prepareDecodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareDecodingStep(
final ECBlockGroup blockGroup) {
ErasureCoderOptions coderOptions = new ErasureCoderOptions(
getNumDataUnits(), getNumParityUnits());
RawErasureDecoder rawDecoder = CodecUtil.createRawDecoder(getConf(),
ErasureCodeConstants.XOR_CODEC_NAME, coderOptions);
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
return new ErasureDecodingStep(inputBlocks,
getErasedIndexes(inputBlocks),
getOutputBlocks(blockGroup), rawDecoder);
}
示例13: prepareEncodingStep
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
protected ErasureCodingStep prepareEncodingStep(
final ECBlockGroup blockGroup) {
ErasureCoderOptions coderOptions = new ErasureCoderOptions(
getNumDataUnits(), getNumParityUnits());
RawErasureEncoder rawEncoder = CodecUtil.createRawEncoder(getConf(),
ErasureCodeConstants.XOR_CODEC_NAME, coderOptions);
ECBlock[] inputBlocks = getInputBlocks(blockGroup);
return new ErasureEncodingStep(inputBlocks,
getOutputBlocks(blockGroup), rawEncoder);
}
示例14: calculateCoding
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
@Override
public ErasureCodingStep calculateCoding(ECBlockGroup blockGroup) {
// We may have more than this when considering complicate cases. HADOOP-11550
return prepareEncodingStep(blockGroup);
}
示例15: getInputBlocks
import org.apache.hadoop.io.erasurecode.ECBlockGroup; //导入依赖的package包/类
protected ECBlock[] getInputBlocks(ECBlockGroup blockGroup) {
return blockGroup.getDataBlocks();
}