Skip to content
Snippets Groups Projects
Commit 636fc0c8 authored by Matei Zaharia's avatar Matei Zaharia
Browse files

Merge pull request #886 from mateiz/codec

Fix spark.io.compression.codec and change default codec to LZF
parents d9a53b94 246bf67f
No related branches found
No related tags found
No related merge requests found
......@@ -39,17 +39,13 @@ trait CompressionCodec {
private[spark] object CompressionCodec {
def createCodec(): CompressionCodec = {
// Set the default codec to Snappy since the LZF implementation initializes a pretty large
// buffer for every stream, which results in a lot of memory overhead when the number of
// shuffle reduce buckets are large.
createCodec(classOf[SnappyCompressionCodec].getName)
createCodec(System.getProperty(
"spark.io.compression.codec", classOf[LZFCompressionCodec].getName))
}
def createCodec(codecName: String): CompressionCodec = {
Class.forName(
System.getProperty("spark.io.compression.codec", codecName),
true,
Thread.currentThread.getContextClassLoader).newInstance().asInstanceOf[CompressionCodec]
Class.forName(codecName, true, Thread.currentThread.getContextClassLoader)
.newInstance().asInstanceOf[CompressionCodec]
}
}
......
......@@ -44,7 +44,7 @@ class CompressionCodecSuite extends FunSuite {
test("default compression codec") {
val codec = CompressionCodec.createCodec()
assert(codec.getClass === classOf[SnappyCompressionCodec])
assert(codec.getClass === classOf[LZFCompressionCodec])
testCodec(codec)
}
......
......@@ -147,7 +147,7 @@ Apart from these, the following properties are also available, and may be useful
</tr>
<tr>
<td>spark.io.compression.codec</td>
<td>org.apache.spark.io.<br />SnappyCompressionCodec</td>
<td>org.apache.spark.io.<br />LZFCompressionCodec</td>
<td>
The compression codec class to use for various compressions. By default, Spark provides two
codecs: <code>org.apache.spark.io.LZFCompressionCodec</code> and <code>org.apache.spark.io.SnappyCompressionCodec</code>.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment