private static TestCombineTextInputFormat.Range[] CreateRanges(int length, int numFiles , Random random) { // generate a number of files with various lengths TestCombineTextInputFormat.Range[] ranges = new TestCombineTextInputFormat.Range[ numFiles]; for (int i = 0; i < numFiles; i++) { int start = i == 0 ? 0 : ranges[i - 1].end; int end = i == numFiles - 1 ? length : (length / numFiles) * (2 * i + 1) / 2 + random .Next(length / numFiles) + 1; ranges[i] = new TestCombineTextInputFormat.Range(start, end); } return(ranges); }
/// <exception cref="System.IO.IOException"/> private static void CreateFiles(int length, int numFiles, Random random) { TestCombineTextInputFormat.Range[] ranges = CreateRanges(length, numFiles, random ); for (int i = 0; i < numFiles; i++) { Path file = new Path(workDir, "test_" + i + ".txt"); TextWriter writer = new OutputStreamWriter(localFs.Create(file)); TestCombineTextInputFormat.Range range = ranges[i]; try { for (int j = range.start; j < range.end; j++) { writer.Write(Sharpen.Extensions.ToString(j)); writer.Write("\n"); } } finally { writer.Close(); } } }