public void initialize(Configuration conf, int reducerId) {
    int numFiles = FileNames.values().length;
    writers = new HDFSCSVWriter[numFiles];
    for (int i = 0; i < numFiles; ++i) {
      writers[i] =
          new HDFSCSVWriter(
              conf.get("ldbc.snb.datagen.serializer.socialNetworkDir"),
              FileNames.values()[i].toString() + "_" + reducerId,
              conf.getInt("ldbc.snb.datagen.numPartitions", 1),
              conf.getBoolean("ldbc.snb.datagen.serializer.compressed", false),
              "|",
              true);
    }

    ArrayList<String> arguments = new ArrayList<String>();
    arguments.add("id");
    arguments.add("nickname");
    writers[FileNames.PERSON.ordinal()].writeEntry(arguments);
    arguments.clear();

    arguments.add("User.id");
    arguments.add("User.id");
    writers[FileNames.PERSON_KNOWS_PERSON.ordinal()].writeEntry(arguments);
    arguments.clear();
  }
  @Override
  protected void serialize(Person p, Knows knows) {
    ArrayList<String> arguments = new ArrayList<String>();

    arguments.add(Long.toString(p.accountId()));
    arguments.add(Long.toString(knows.to().accountId()));
    writers[FileNames.PERSON_KNOWS_PERSON.ordinal()].writeEntry(arguments);
  }