in gremlin/neptune-social-media-utils/src/main/java/com/aws/neptune/utils/generator/CSVGenerator.java [248:292]
void writeVertexCSV(VertexTypeBean type, String s3Bucket, String bucketFolder ){
String fileName = type.name + ".csv";
String filePath = "/tmp/" + fileName;
ArrayList<String> header = new ArrayList<String>();
S3Uploader s3Uploader = new S3Uploader();
//header.add("node_id");
//ejazs - adding headers per Amazon Neptune format for bulk loader
header.add("~id");
header.addAll(type.columns.keySet());
header.add("~label");
int botId = idFactory.getMinId(type.name);
int topId = idFactory.getMaxId(type.name);
try {
CSVPrinter csvFilePrinter = new CSVPrinter(new FileWriter(filePath), csvFileFormat);
// writing the csv header
csvFilePrinter.printRecord(header);
for (int i = botId; i<=topId; i++){
ArrayList<Object> record = new ArrayList<Object>();
//id for the vertex
record.add(i);
//properties for the vertex
record.addAll(generateOneRecord(type.columns));
//label for the vertex
record.add(type.name);
csvFilePrinter.printRecord(record);
}
csvFilePrinter.close();
System.out.println("Generated vertex file: "+ filePath);
File data = new File(filePath);
s3Uploader.upload(data, s3Bucket, (bucketFolder == null ? fileName : bucketFolder+"/"+fileName));
System.out.println("Uploaded " + filePath + " to S3 location " + s3Bucket + (bucketFolder == null ? "" : "/"+bucketFolder));
} catch (Exception e) {
throw new RuntimeException(e.toString());
}
}