Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Hadoop Learning-Test Compression-day05

Shulou Source: shulou.com Published: 2022-06-03 05:19:47 09月28日 Update

Import java.io.FileInputStream

Import java.io.FileOutputStream

Import org.apache.hadoop.conf.Configuration

Import org.apache.hadoop.io.IOUtils

Import org.apache.hadoop.io.compress.CompressionOutputStream

Import org.apache.hadoop.io.compress.DeflateCodec

Import org.apache.hadoop.util.ReflectionUtils

Import org.junit.BeforeClass

Import org.junit.Test

Public class TestCompressDemo {

Private static Configuration conf

@ BeforeClass

Public static void iniConf () {

Conf = new Configuration ()

}

/ * *

* use the deflate compression algorithm

, /

@ Test

Public void compressByDeflate () throws Exception {

/ / deflate encoder

String codecStr = "org.apache.hadoop.io.compress.DeflateCodec"

Class clazz = (Class) Class.forName (codecStr)

DeflateCodec codec = ReflectionUtils.newInstance (clazz,conf)

/ / A pair of output streams are packaged to generate a new compressed stream

FileOutputStream fos = new FileOutputStream ("E:/zhaopian.deflate")

CompressionOutputStream comOut = codec.createOutputStream (fos)

/ / write stream

IOUtils.copyBytes (new FileInputStream ("E:/zhaopian.jpg"), comOut,1024)

}

/ * *

* use the deflate compression algorithm

, /

@ Test

Public void compressByDeflate2 () throws Exception {

/ / instantiate the codec object directly

DeflateCodec codec = new DeflateCodec ()

/ / check and set the conf object

ReflectionUtils.setConf (codec,conf)

/ / A pair of output streams are packaged to generate a new compressed stream

FileOutputStream fos = new FileOutputStream ("E:/zhaopian2.deflate")

CompressionOutputStream comOut = codec.createOutputStream (fos)

/ / write stream

IOUtils.copyBytes (new FileInputStream ("E:/zhaopian.jpg"), comOut, 1024)

}

}

Tags: Object algorithm wrapper output instance Encoder Encoder check Learning Test Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno vpn Shulou Information MariaDB Microsoft NVidia