private static final Logger log = LoggerFactory.getLogger(TestDistributedLanczosSolverCLI.class);
@Test
public void testDistributedLanczosSolverCLI() throws Exception {
Path testData = getTestTempDirPath("testdata");
DistributedRowMatrix corpus =
new TestDistributedRowMatrix().randomDenseHierarchicalDistributedMatrix(10, 9, false,
testData.toString());
corpus.setConf(getConfiguration());
Path output = getTestTempDirPath("output");
Path tmp = getTestTempDirPath("tmp");
Path workingDir = getTestTempDirPath("working");
String[] args = {
"-i", new Path(testData, "distMatrix").toString(),
"-o", output.toString(),
"--tempDir", tmp.toString(),
"--numRows", "10",
"--numCols", "9",
"--rank", "6",
"--symmetric", "false",
"--workingDir", workingDir.toString()
};
ToolRunner.run(getConfiguration(), new DistributedLanczosSolver().new DistributedLanczosSolverJob(), args);
output = getTestTempDirPath("output2");
tmp = getTestTempDirPath("tmp2");
args = new String[] {
"-i", new Path(testData, "distMatrix").toString(),
"-o", output.toString(),
"--tempDir", tmp.toString(),
"--numRows", "10",
"--numCols", "9",
"--rank", "7",
"--symmetric", "false",
"--workingDir", workingDir.toString()
};
ToolRunner.run(getConfiguration(), new DistributedLanczosSolver().new DistributedLanczosSolverJob(), args);
Path rawEigenvectors = new Path(output, DistributedLanczosSolver.RAW_EIGENVECTORS);
Matrix eigenVectors = new DenseMatrix(7, corpus.numCols());
Configuration conf = getConfiguration();
int i = 0;
for (VectorWritable value : new SequenceFileValueIterable<VectorWritable>(rawEigenvectors, conf)) {
Vector v = value.get();