當前位置: 首頁>>代碼示例>>Java>>正文


Java CompressionCodec.createDecompressor方法代碼示例

本文整理匯總了Java中org.apache.hadoop.io.compress.CompressionCodec.createDecompressor方法的典型用法代碼示例。如果您正苦於以下問題:Java CompressionCodec.createDecompressor方法的具體用法?Java CompressionCodec.createDecompressor怎麽用?Java CompressionCodec.createDecompressor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.io.compress.CompressionCodec的用法示例。


在下文中一共展示了CompressionCodec.createDecompressor方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: CodecPool

import org.apache.hadoop.io.compress.CompressionCodec; //導入方法依賴的package包/類
private CodecPool(final CompressionCodec codec){
  try {
    boolean supportDirectDecompressor = codec instanceof DirectDecompressionCodec;
    compressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createCompressor();
      }
    }, Integer.MAX_VALUE);

    Object com = compressorPool.borrowObject();
    if (com != null) {
      cPools.put(com.getClass(), compressorPool);
      compressorPool.returnObject(com);
    }else{
      logger.warn("Unable to find compressor for codec {}", codec.getClass().getName());
    }

    decompressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
      public Object makeObject() throws Exception {
        return codec.createDecompressor();
      }
    }, Integer.MAX_VALUE);

    Object decom = decompressorPool.borrowObject();
    if (decom != null) {
      dePools.put(decom.getClass(), decompressorPool);
      decompressorPool.returnObject(decom);
    } else {
      logger.warn("Unable to find decompressor for codec {}", codec.getClass().getName());
    }

    if (supportDirectDecompressor) {
      directDecompressorPool = new GenericObjectPool(new BasePoolableObjectFactory() {
        public Object makeObject() throws Exception {
          return ((DirectDecompressionCodec) codec).createDirectDecompressor();
        }
      }, Integer.MAX_VALUE);

      Object ddecom = directDecompressorPool.borrowObject();
      if (ddecom != null) {
        directDePools.put(ddecom.getClass(), directDecompressorPool);
        directDecompressorPool.returnObject(ddecom);

      } else {
        supportDirectDecompressor = false;
        logger.warn("Unable to find direct decompressor for codec {}", codec.getClass().getName());
      }

    } else {
      directDecompressorPool = null;
    }

    this.supportDirectDecompressor = supportDirectDecompressor;
  } catch (Exception e) {
    throw new DrillRuntimeException(e);
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:58,代碼來源:DirectCodecPool.java


注:本文中的org.apache.hadoop.io.compress.CompressionCodec.createDecompressor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。