package com.oreilly.springdata.hadoop.pig; import java.util.Collection; import java.util.Properties; import org.springframework.data.hadoop.pig.PigOperations; import org.springframework.data.hadoop.util.PathUtils; import org.springframework.util.Assert; public class PigPasswordRepository implements PasswordRepository { private PigOperations pigOperations; private String pigScript = "classpath:password-analysis.pig"; public PigPasswordRepository(PigOperations pigOperations) { Assert.notNull(pigOperations); this.pigOperations = pigOperations; } public void setPigScript(String pigScript) { this.pigScript = pigScript; } @Override public void processPasswordFile(String inputFile) { Assert.notNull(inputFile); String outputDir = PathUtils.format("/data/password-repo/output/%1$tY/%1$tm/%1$td/%1$tH/%1$tM/%1$tS"); Properties scriptParameters = new Properties(); scriptParameters.put("inputDir", inputFile); scriptParameters.put("outputDir", outputDir); pigOperations.executeScript(pigScript, scriptParameters); } @Override public void processPasswordFiles(Collection<String> inputFiles) { for (String inputFile : inputFiles) { processPasswordFile(inputFile); } } }