/** * Create derived cube defined by measures, dimensions and properties * * @param parent Name of the parent cube * @param name Name of the derived cube * @param measures Measures of the derived cube * @param dimensions Dimensions of the derived cube * @param properties Properties of the derived cube * @param weight Weight of the derived cube * @throws LensException */ public void createDerivedCube(String parent, String name, Set<String> measures, Set<String> dimensions, Map<String, String> properties, double weight) throws LensException { DerivedCube cube = new DerivedCube(name, measures, dimensions, properties, weight, (Cube) getCube(parent)); createCube(cube); }
/** * Create derived cube defined by measures, dimensions and properties * * @param parent Name of the parent cube * @param name Name of the derived cube * @param measures Measures of the derived cube * @param dimensions Dimensions of the derived cube * @param properties Properties of the derived cube * @param weight Weight of the derived cube * @throws LensException */ public void createDerivedCube(String parent, String name, Set<String> measures, Set<String> dimensions, Map<String, String> properties, double weight) throws LensException { DerivedCube cube = new DerivedCube(name, measures, dimensions, properties, weight, (Cube) getCube(parent)); createCube(cube); }
private CubeInterface getCube(Table tbl) throws LensException { String parentCube = tbl.getParameters().get(getParentCubeNameKey(tbl.getTableName())); if (parentCube != null) { return new DerivedCube(tbl, (Cube) getCube(parentCube)); } else { return new Cube(tbl); } }
private CubeInterface getCube(Table tbl) throws LensException { String parentCube = tbl.getParameters().get(getParentCubeNameKey(tbl.getTableName())); if (parentCube != null) { return new DerivedCube(tbl, (Cube) getCube(parentCube)); } else { return new Cube(tbl); } }
return new DerivedCube(cube.getName(), measures, dims, properties, 0L, parent); } else { XBaseCube bcube = (XBaseCube) cube;
return new DerivedCube(cube.getName(), measures, dims, properties, 0L, parent); } else { XBaseCube bcube = (XBaseCube) cube;
DerivedCube derivedCube = new DerivedCube(derivedCubeName, moreMeasures, moreDimensions, cube); client.createDerivedCube(cubeName, derivedCubeName, moreMeasures, moreDimensions, emptyHashMap, 0L); assertTrue(client.tableExists(derivedCubeName)); Table derivedTbl = client.getHiveTable(derivedCubeName); assertTrue(client.isCube(derivedTbl)); DerivedCube dcube2 = new DerivedCube(derivedTbl, cube); assertTrue(derivedCube.equals(dcube2)); assertTrue(dcube2.isDerivedCube());
@Test(priority = 2) public void testAlterDerivedCube() throws Exception { String name = "alter_derived_cube"; client.createDerivedCube(CUBE_NAME, name, measures, dimensions, emptyHashMap, 0L); // Test alter cube Table cubeTbl = client.getHiveTable(name); DerivedCube toAlter = new DerivedCube(cubeTbl, (Cube) client.getCube(CUBE_NAME)); toAlter.addMeasure("msr4"); toAlter.removeMeasure("msr3"); toAlter.addDimension("dim1StartTime"); toAlter.removeDimension("dim1"); assertNotNull(toAlter.getMeasureByName("msr4")); assertNotNull(toAlter.getMeasureByName("msr2")); assertNull(toAlter.getMeasureByName("msr3")); assertNotNull(toAlter.getDimAttributeByName("dim1StartTime")); assertNotNull(toAlter.getDimAttributeByName("dim2")); assertNull(toAlter.getDimAttributeByName("dim1")); client.alterCube(name, toAlter); DerivedCube altered = (DerivedCube) client.getCube(name); assertEquals(toAlter, altered); assertNotNull(altered.getMeasureByName("msr4")); CubeMeasure addedMsr = altered.getMeasureByName("msr4"); assertEquals(addedMsr.getType(), "bigint"); assertNotNull(altered.getDimAttributeByName("dim1StartTime")); BaseDimAttribute addedDim = (BaseDimAttribute) altered.getDimAttributeByName("dim1StartTime"); assertEquals(addedDim.getType(), "string"); assertNotNull(addedDim.getStartTime()); client.dropCube(name); assertFalse(client.tableExists(name)); }
Table derivedTbl = client.getHiveTable(DERIVED_CUBE_NAME); assertTrue(client.isCube(derivedTbl)); DerivedCube dcube2 = new DerivedCube(derivedTbl, cube); assertTrue(derivedCube.equals(dcube2)); assertTrue(dcube2.isDerivedCube()); derivedTbl = client.getHiveTable(DERIVED_CUBE_NAME_WITH_PROPS); assertTrue(client.isCube(derivedTbl)); dcube2 = new DerivedCube(derivedTbl, cubeWithProps); assertTrue(derivedCubeWithProps.equals(dcube2)); assertTrue(dcube2.isDerivedCube());
moreDimensions.add(dimAttribute.getName()); derivedCube = new DerivedCube(derivedCubeName, measures, dimensions, cube); cubeWithProps = new Cube(cubeNameWithProps, cubeMeasures, cubeDimensions, CUBE_PROPERTIES); derivedCubeWithProps = new DerivedCube(derivedCubeNameWithProps, measures, dimensions, CUBE_PROPERTIES, 0L, cubeWithProps);