package ldbc.snb.datagen.serializer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.zip.GZIPOutputStream;
public class HDFSCSVWriter extends HDFSWriter {
private String separator = "|";
private StringBuffer buffer;
private boolean endLineSeparator = true;
private OutputStream[] fileOutputStream;
public HDFSCSVWriter( String outputDir, String prefix, int numPartitions, boolean compressed, String separator, boolean endLineSeparator ) {
super(outputDir, prefix, numPartitions, compressed, "csv" );
this.separator = separator;
this.buffer = new StringBuffer(2048);
this.endLineSeparator = endLineSeparator;
}
public void writeEntry( ArrayList<String> entry ) {
buffer.setLength(0);
for( int i = 0; i < entry.size(); ++i) {
buffer.append(entry.get(i));
if((endLineSeparator && i == (entry.size() - 1)) || (i < entry.size() - 1))
buffer.append(separator);
}
buffer.append("\n");
this.write(buffer.toString());
}
}