diff --git a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java index da87e5d7b6..a03d0455e8 100644 --- a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java +++ b/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java @@ -227,7 +227,13 @@ protected CompressionCodec getCodec(CompressionCodecName codecName) { } try { - Class codecClass = Class.forName(codecClassName); + Class codecClass; + try { + codecClass = Class.forName(codecClassName); + } catch (ClassNotFoundException e) { + // Try to load the class using the job classloader + codecClass = configuration.getClassLoader().loadClass(codecClassName); + } codec = (CompressionCodec) ReflectionUtils.newInstance(codecClass, configuration); CODEC_BY_NAME.put(codecClassName, codec); return codec;