Build a cube object
- Build cube with NOW option
- Build cube with ONCE option
- Cancel cube build if currently running
- Resume cube build
- Replace partitions
- Data profile for Cube with ONCE option
- Data profile for Cube with NOW option
Examples
Build cube with NOW option
/** * method to build Cube Object * @param cubeName: name of the cube * @param folderName: name of the folder containing cube * @param buildType: type of the build , FULL or INCREMENTAL * @param additionalParams: JSONObject containing fields: userParams, replacePartition, consolidationType, buildSourceDatasets, * recommendationParamsJson, minimalAggregation, minimalAggregation, factDataPartitionSize, * factDataPartitionCount, incrementalJobProcessType * factDataPartitionCount, incrementalJobProcessType, buildConnectionName */ public void buildCubeNow(String cubeName, String folderName, String buildType, UserInfo userInfo, JSONObject additionalParams);
Build cube with ONCE option
/** * method to build Cube Object * @param cubeName: name of the cube * @param folderName: name of the folder containing cube * @param buildType: type of the build , FULL or INCREMENTAL * @param additionalParams: JSONObject containing fields: userParams, onceDateTime, replacePartition, consolidationType, buildSourceDatasets, * recommendationParamsJson, minimalAggregation, minimalAggregation, factDataPartitionSize, * factDataPartitionCount, incrementalJobProcessType, buildConnectionName */ public void buildCubeOnce(String cubeName, String folderName, String buildType, UserInfo userInfo, JSONObject additionalParams);
Cancel cube build if currently running.
/** * Method to add ONCE build schedule for cube object * @param cubeName: name of the cube * @param folderName: name of the folder containing cube * @param buildType: type of the build, FULL or INCREMENTAL * @param onceDateTime: date time in format mm/dd/yyyy hh:mm * @param userInfo: Object of type UserInfo containing information about logged in user * @param incrementalJobProcessType: type of process: FACT_ADJUSTMENTS */ public void buildCubeOnce(String cubeName, String folderName, String buildType, String onceDateTime, UserInfo userInfo, String incrementalJobProcessType);
Resume cube build
/** * method to resume cube build for cube object in ReportObjectManager. * @param historyId: history id of last resumable cube build. * @param userInfo: Object of type UserInfo containing information about logged in user. */ public void resumeBuild(String historyId, UserInfo userInfo);
Replace partitions.
/** * method to launch Replace Partition build and incremental build with Replace partition: * @param CubeObject: Object of type CubeObject. * @param PartitionInfo: Object of type PartitionInfo. * @param userInfo: Object of type UserInfo containing information about logged in user. */ public void launchReplacePartitionBuild(CubeObject co, PartitionInfo replacePartitionInfoObj, UserInfo userInfo); public void launchReplacePartitionWithIncrementalBuild(CubeObject co, PartitionInfo replacePartitionInfoObj, UserInfo userInfo);
Data profile for a cube with ONCE option
/** * method to add ONCE Data Profile schedule for Cube object * @param co: CubeObject to be profiled * @param onceDateTime: date time in format mm/dd/yyyy hh:mm * @param profile: Object of type DataProfile containing field information * @param userInfo: Object of type UserInfo containing information about logged in user * @param buildConnectionName: name of build connection */ public void profileCubeOnce(CubeObject co, String onceDateTime, DataProfile profile, UserInfo userInfo, String buildConnectionName);
Data profile for a cube with NOW option.
/** * method to add NOW Data Profile schedule for Cube object * @param co: CubeObject to be profiled * @param profile: Object of type DataProfile containing field information * @param userInfo: Object of type UserInfo containing information about logged in user * @param buildConnectionName: name of build connection */ public void profileCubeNow(CubeObject co, DataProfile profile, UserInfo userInfo, String buildConnectionName;
Parse connectionXML and set internal properties of DBConnection.
/** * Constructor accepting connectionXML as input. Connection properties will be set by parsing this XML. * @param connectoinXML */ public DBConnection(String connectoinXML)
Set a property in a DBConnection object.
/** * Method to set connection property. * @param propertyName * @param propertyValue */ public void setProperty(String propertyName, String propertyValue)
Set a property in a DBConnection. It is useful when a value is encrypted.
/** * Method to set connection property. * @param propertyName * @param propertyValue * @param isEncrypted * @param cryptographicAlgorythm */ public void setProperty(String propertyName, String propertyValue, String isEncrypted, String cryptographicAlgorythm)
Sample code
/*Method to trigger Cube Build *BuildType Can be FULL, INCREMENTAL */ public static void buildCubeNow(SchedulerManager schedulerManager, UserInfo userInfo) { schedulerManager.buildCubeNow("CubeName", "CubeFolderName", "BuildType", userInfo); } /*Method to Cancel Cube Build *BuildType Can be FULL, INCREMENTAL */ public static void cancelCubeBuild(SchedulerManager schedulerManager, UserInfo userInfo){ schedulerManager.cancelCubeBuild("CubeName", "CubeFolderName", "BuildType", userInfo); } /*Method to Resume Cube Build*/ public static void resumeBuild(ReportObjectManager repObjManager, UserInfo userInfo){ try { repObjManager.resumeBuild("CubeBuildHistoryID", userInfo); } catch (ReportObjectException e) { e.printStackTrace(); } } /*Method to trigger Data Profile on Cube*/ public static void profileCubeNow(SchedulerManager schedulerManager, RepositoryManager repManager, UserInfo userInfo) { try { /*Cube and Cube Folder should be present on Kyvos*/ CubeObject cubeObject = repManager.getCubeByName("CubeName", "CubeFolderName", userInfo); DataProfile profile = new DataProfile(); schedulerManager.profileCubeNow(cubeObject, profile, userInfo); } catch (ReportObjectException e) { e.printStackTrace(); } }