Applies to: Kyvos Enterprise Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace
Kyvos Azure Marketplace Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)
...
Overview
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
Code Block language java /** * 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
Code Block language java /** * 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.
Code Block language java /** * 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
Code Block language java /** * 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.
Code Block language java /** * 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
Code Block language java /** * 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.
Code Block language java /** * 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.
Code Block /** * 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.
Code Block /** * 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.
Code Block /** * 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
Code Block |
---|
/*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(); } } |