diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinter.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinter.java
index 046c03f..2f95b3e 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinter.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinter.java
@@ -40,16 +40,15 @@
     private final CompressionCodecName compressionCodecName;
     private final MessageType schema;
     private ParquetOutputFile parquetOutputFile;
-    //    private String parquetSchemaString;
     private ParquetWriter<IValueReference> writer;
     private final long rowGroupSize;
     private final int pageSize;
     private final ParquetProperties.WriterVersion writerVersion;
 
-    public ParquetExternalFilePrinter(CompressionCodecName compressionCodecName, MessageType parquetSchemaString,
-            IAType typeInfo, long rowGroupSize, int pageSize, ParquetProperties.WriterVersion writerVersion) {
+    public ParquetExternalFilePrinter(CompressionCodecName compressionCodecName, MessageType schema, IAType typeInfo,
+            long rowGroupSize, int pageSize, ParquetProperties.WriterVersion writerVersion) {
         this.compressionCodecName = compressionCodecName;
-        this.schema = parquetSchemaString;
+        this.schema = schema;
         this.typeInfo = typeInfo;
         this.rowGroupSize = rowGroupSize;
         this.pageSize = pageSize;
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinterFactory.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinterFactory.java
index 035e49a..d93decd 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinterFactory.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/writer/printer/ParquetExternalFilePrinterFactory.java
@@ -30,9 +30,9 @@
 
 public class ParquetExternalFilePrinterFactory implements IExternalPrinterFactory {
     private static final long serialVersionUID = 8971234908711235L;
-    // parquetInferSchema is for the case when the schema is inferred from the data, not provided by the user
+    // parquetInferredSchema is for the case when the schema is inferred from the data, not provided by the user
     // set During the runtime
-    private transient MessageType parquetInferSchema;
+    private transient MessageType parquetInferredSchema;
     // parquetProvidedSchema is for the case when the schema is provided by the user
     private ARecordType parquetProvidedSchema;
     private final IAType typeInfo;
@@ -61,14 +61,14 @@
         this.writerVersion = writerVersion;
     }
 
-    public void setParquetSchema(MessageType parquetInferSchema) {
-        this.parquetInferSchema = parquetInferSchema;
+    public void setParquetSchema(MessageType parquetInferredSchema) {
+        this.parquetInferredSchema = parquetInferredSchema;
     }
 
     @Override
     public IExternalPrinter createPrinter() {
-        if (parquetInferSchema != null) {
-            return new ParquetExternalFilePrinter(compressionCodecName, parquetInferSchema, typeInfo, rowGroupSize,
+        if (parquetInferredSchema != null) {
+            return new ParquetExternalFilePrinter(compressionCodecName, parquetInferredSchema, typeInfo, rowGroupSize,
                     pageSize, writerVersion);
         }
 
