File tree Expand file tree Collapse file tree 2 files changed +27
-2
lines changed
main/scala/org/apache/spark/io
test/scala/org/apache/spark/io Expand file tree Collapse file tree 2 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -46,17 +46,24 @@ trait CompressionCodec {
4646
4747
4848private [spark] object CompressionCodec {
49+
50+ private val shortCompressionCodecNames = Map (
51+ " lz4" -> classOf [LZ4CompressionCodec ].getName,
52+ " lzf" -> classOf [LZFCompressionCodec ].getName,
53+ " snappy" -> classOf [SnappyCompressionCodec ].getName)
54+
4955 def createCodec (conf : SparkConf ): CompressionCodec = {
5056 createCodec(conf, conf.get(" spark.io.compression.codec" , DEFAULT_COMPRESSION_CODEC ))
5157 }
5258
5359 def createCodec (conf : SparkConf , codecName : String ): CompressionCodec = {
54- val ctor = Class .forName(codecName, true , Utils .getContextOrSparkClassLoader)
60+ val codecClass = shortCompressionCodecNames.getOrElse(codecName.toLowerCase, codecName)
61+ val ctor = Class .forName(codecClass, true , Utils .getContextOrSparkClassLoader)
5562 .getConstructor(classOf [SparkConf ])
5663 ctor.newInstance(conf).asInstanceOf [CompressionCodec ]
5764 }
5865
59- val DEFAULT_COMPRESSION_CODEC = classOf [ SnappyCompressionCodec ].getName
66+ val DEFAULT_COMPRESSION_CODEC = " snappy "
6067}
6168
6269
Original file line number Diff line number Diff line change @@ -56,15 +56,33 @@ class CompressionCodecSuite extends FunSuite {
5656 testCodec(codec)
5757 }
5858
59+ test(" lz4 compression codec short form" ) {
60+ val codec = CompressionCodec .createCodec(conf, " lz4" )
61+ assert(codec.getClass === classOf [LZ4CompressionCodec ])
62+ testCodec(codec)
63+ }
64+
5965 test(" lzf compression codec" ) {
6066 val codec = CompressionCodec .createCodec(conf, classOf [LZFCompressionCodec ].getName)
6167 assert(codec.getClass === classOf [LZFCompressionCodec ])
6268 testCodec(codec)
6369 }
6470
71+ test(" lzf compression codec short form" ) {
72+ val codec = CompressionCodec .createCodec(conf, " lzf" )
73+ assert(codec.getClass === classOf [LZFCompressionCodec ])
74+ testCodec(codec)
75+ }
76+
6577 test(" snappy compression codec" ) {
6678 val codec = CompressionCodec .createCodec(conf, classOf [SnappyCompressionCodec ].getName)
6779 assert(codec.getClass === classOf [SnappyCompressionCodec ])
6880 testCodec(codec)
6981 }
82+
83+ test(" snappy compression codec short form" ) {
84+ val codec = CompressionCodec .createCodec(conf, " snappy" )
85+ assert(codec.getClass === classOf [SnappyCompressionCodec ])
86+ testCodec(codec)
87+ }
7088}
You can’t perform that action at this time.
0 commit comments