Repository: kylin Updated Branches: refs/heads/master 18d4a5ecf -> 4662adab7
minor, revise InMemCubeBuilderTest to cover both SSB and orignal kylin test cube Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4662adab Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4662adab Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4662adab Branch: refs/heads/master Commit: 4662adab73fb87591400afa11b6741198d9fa7e4 Parents: 18d4a5e Author: Li Yang <liy...@apache.org> Authored: Fri Mar 11 13:48:09 2016 +0800 Committer: Li Yang <liy...@apache.org> Committed: Fri Mar 11 13:49:22 2016 +0800 ---------------------------------------------------------------------- .../cube/inmemcubing/InMemCubeBuilderTest.java | 64 +++++++++++++------- 1 file changed, 41 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/4662adab/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java ---------------------------------------------------------------------- diff --git a/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java b/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java index 76674d3..d96de4f 100644 --- a/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java +++ b/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java @@ -46,8 +46,8 @@ import org.apache.kylin.gridtable.GTRecord; import org.apache.kylin.metadata.model.FunctionDesc; import org.apache.kylin.metadata.model.MeasureDesc; import org.apache.kylin.metadata.model.TblColRef; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,36 +61,54 @@ public class InMemCubeBuilderTest extends LocalFileMetadataTestCase { private static final Logger logger = LoggerFactory.getLogger(InMemCubeBuilderTest.class); - private static final int INPUT_ROWS = 1000; - private static final int THREADS = 1; + private CubeInstance cube; + private String flatTable; + private Map<TblColRef, Dictionary<String>> dictionaryMap; - private static CubeInstance cube; - private static String flatTable; - private static Map<TblColRef, Dictionary<String>> dictionaryMap; + private int nInpRows; + private int nThreads; - @BeforeClass - public static void before() throws IOException { - staticCreateTestMetadata(); + @Before + public void before() throws IOException { + createTestMetadata(); + } + + @After + public void after() throws Exception { + cleanupTestMetadata(); + } + + @Test + public void testKylinCube() throws Exception { + testBuild("test_kylin_cube_without_slr_left_join_empty", // + "../examples/test_case_data/localmeta/data/flatten_data_for_without_slr_left_join.csv", 70000, 4); + } + @Test + public void testSSBCube() throws Exception { + testBuild("ssb", // + "../examples/test_case_data/localmeta/data/kylin_intermediate_ssb_19920101000000_19920201000000.csv", 1000, 1); + } + + public void testBuild(String cubeName, String flatTable, int nInpRows, int nThreads) throws Exception { KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); CubeManager cubeManager = CubeManager.getInstance(kylinConfig); - cube = cubeManager.getCube("ssb"); - flatTable = "../examples/test_case_data/localmeta/data/kylin_intermediate_ssb_19920101000000_19920201000000.csv"; - dictionaryMap = getDictionaryMap(cube, flatTable); - } + this.nInpRows = nInpRows; + this.nThreads = nThreads; + + this.cube = cubeManager.getCube(cubeName); + this.flatTable = flatTable; + this.dictionaryMap = getDictionaryMap(cube, flatTable); - @AfterClass - public static void after() throws Exception { - staticCleanupTestMetadata(); + testBuildInner(); } - @Test - public void test() throws Exception { + private void testBuildInner() throws Exception { InMemCubeBuilder cubeBuilder = new InMemCubeBuilder(cube.getDescriptor(), dictionaryMap); //DoggedCubeBuilder cubeBuilder = new DoggedCubeBuilder(cube.getDescriptor(), dictionaryMap); - cubeBuilder.setConcurrentThreads(THREADS); + cubeBuilder.setConcurrentThreads(nThreads); ArrayBlockingQueue<List<String>> queue = new ArrayBlockingQueue<List<String>>(1000); ExecutorService executorService = Executors.newSingleThreadExecutor(); @@ -99,7 +117,7 @@ public class InMemCubeBuilderTest extends LocalFileMetadataTestCase { // round 1 { Future<?> future = executorService.submit(cubeBuilder.buildAsRunnable(queue, new ConsoleGTRecordWriter())); - feedData(cube, flatTable, queue, INPUT_ROWS); + feedData(cube, flatTable, queue, nInpRows); future.get(); } @@ -113,7 +131,7 @@ public class InMemCubeBuilderTest extends LocalFileMetadataTestCase { // round 3 { Future<?> future = executorService.submit(cubeBuilder.buildAsRunnable(queue, new ConsoleGTRecordWriter())); - feedData(cube, flatTable, queue, INPUT_ROWS); + feedData(cube, flatTable, queue, nInpRows); future.get(); } @@ -213,7 +231,7 @@ public class InMemCubeBuilderTest extends LocalFileMetadataTestCase { List<String> lines = FileUtils.readLines(new File(flatTable), "UTF-8"); for (String line : lines) { String[] row = line.trim().split(","); - if ( row.length != nColumns) { + if (row.length != nColumns) { throw new IllegalStateException(); } if (row[c] != null) {