in c3r-cli/src/main/java/com/amazonaws/c3r/cli/EncryptMode.java [339:376]
public Integer call() {
try {
validate();
final EncryptConfig cfg = getConfig();
final ParquetConfig pCfg = getParquetConfig();
printColumnTransformInfo(cfg.getTableSchema());
if (!optionalArgs.dryRun) {
log.info("Encrypting data from {}.", cfg.getSourceFile());
switch (cfg.getFileFormat()) {
case CSV:
if (pCfg.isSet()) {
throw new C3rIllegalArgumentException("Parquet options specified for CSV file.");
}
final RowMarshaller<CsvValue> csvRowMarshaller = CsvRowMarshaller.newInstance(cfg);
csvRowMarshaller.marshal();
csvRowMarshaller.close();
break;
case PARQUET:
final RowMarshaller<ParquetValue> parquetRowMarshaller = ParquetRowMarshaller.newInstance(cfg, pCfg);
parquetRowMarshaller.marshal();
parquetRowMarshaller.close();
break;
default:
throw new C3rIllegalArgumentException("Unrecognized file format: " + cfg.getFileFormat());
}
log.info("Encrypted data was saved to {}.", cfg.getTargetFile());
} else {
log.info("Dry run: No data will be encrypted from {}.", cfg.getSourceFile());
}
} catch (Exception e) {
Main.handleException(e, optionalArgs.enableStackTraces);
return Main.FAILURE;
}
return Main.SUCCESS;
}