Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Build a cube object

  1. Build cube with NOW option

  2. Build cube with ONCE option

  3. Cancel cube build if currently running

  4. Resume cube build

  5. Replace partitions

  6. Data profile for Cube with ONCE option

  7. Data profile for Cube with NOW option

Examples

  1. Build cube with NOW option

    Code Block
    languagejava
    /**
    * 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);


  2. Build cube with ONCE option

    Code Block
    languagejava
    /**
    * 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);


  3. Cancel cube build if currently running.

    Code Block
    languagejava
    /**
    * 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);


  4. Resume cube build

    Code Block
    languagejava
    /**
    * 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);


  5. Replace partitions.

    Code Block
    languagejava
    /**
    * 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);


  6. Data profile for a cube with ONCE option

    Code Block
    languagejava
    /**
    * 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);


  7. Data profile for a cube with NOW option.

    Code Block
    languagejava
    /**
     * 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;


  8. 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)


  9. 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)


  10. 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(); 
} 
       } 

...