// Path: src/main/java/com/hortonworks/spark/sql/hive/llap/util/SerializableHadoopConfiguration.java
// public class SerializableHadoopConfiguration implements Serializable {
//   Configuration conf;
// 
//   public SerializableHadoopConfiguration(Configuration hadoopConf) {
//     this.conf = hadoopConf;
// 
//     if (this.conf == null) {
//       this.conf = new Configuration();
//     }
//   }
// 
//   public SerializableHadoopConfiguration() {
//     this.conf = new Configuration();
//   }
// 
//   public Configuration get() {
//     return this.conf;
//   }
// 
//   private void writeObject(java.io.ObjectOutputStream out) throws IOException {
//     this.conf.write(out);
//   }
// 
//   private void readObject(java.io.ObjectInputStream in) throws IOException {
//     this.conf = new Configuration();
//     this.conf.readFields(in);
//   }
// }


import com.hortonworks.spark.sql.hive.llap.util.SerializableHadoopConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapred.JobConf;
import org.apache.spark.sql.catalyst.InternalRow;
import org.apache.spark.sql.sources.v2.writer.DataWriter;
import org.apache.spark.sql.sources.v2.writer.DataWriterFactory;
import org.apache.spark.sql.types.StructType;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
package com.hortonworks.spark.sql.hive.llap;



public class HiveWarehouseDataWriterFactory implements DataWriterFactory<InternalRow> {

  protected String jobId;
  protected StructType schema;
  private Path path;
// Path: src/main/java/com/hortonworks/spark/sql/hive/llap/util/SerializableHadoopConfiguration.java
// public class SerializableHadoopConfiguration implements Serializable {
//   Configuration conf;
// 
//   public SerializableHadoopConfiguration(Configuration hadoopConf) {
//     this.conf = hadoopConf;
// 
//     if (this.conf == null) {
//       this.conf = new Configuration();
//     }
//   }
// 
//   public SerializableHadoopConfiguration() {
//     this.conf = new Configuration();
//   }
// 
//   public Configuration get() {
//     return this.conf;
//   }
// 
//   private void writeObject(java.io.ObjectOutputStream out) throws IOException {
//     this.conf.write(out);
//   }
// 
//   private void readObject(java.io.ObjectInputStream in) throws IOException {
//     this.conf = new Configuration();
//     this.conf.readFields(in);
//   }
// }


// Path: src/main/java/com/hortonworks/spark/sql/hive/llap/HiveWarehouseDataWriterFactory.java
import com.hortonworks.spark.sql.hive.llap.util.SerializableHadoopConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapred.JobConf;
import org.apache.spark.sql.catalyst.InternalRow;
import org.apache.spark.sql.sources.v2.writer.DataWriter;
import org.apache.spark.sql.sources.v2.writer.DataWriterFactory;
import org.apache.spark.sql.types.StructType;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;

package com.hortonworks.spark.sql.hive.llap;



public class HiveWarehouseDataWriterFactory implements DataWriterFactory<InternalRow> {

  protected String jobId;
  protected StructType schema;
  private Path path;
  private SerializableHadoopConfiguration conf;