boolean isModelMatch = cubeInstance.getDescriptor().getModelName().equalsIgnoreCase(modelName); if (isModelMatch) { filterModelCubes.add(0, cubeInstance);
private static void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); for (TableRef table : cubeDesc.getModel().getAllTables()) { metaResource.add(table.getTableDesc().getResourcePath()); } for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } }
&& c.getName().toLowerCase(Locale.ROOT).contains(cubeName.toLowerCase(Locale.ROOT)))) && (modelName == null || modelName.toLowerCase(Locale.ROOT) .equals(c.getModelName().toLowerCase(Locale.ROOT)))) {
public void validateCubeDesc(CubeDesc desc, boolean isDraft) { Message msg = MsgPicker.getMsg(); if (desc == null) { throw new BadRequestException(msg.getINVALID_CUBE_DEFINITION()); } String cubeName = desc.getName(); if (StringUtils.isEmpty(cubeName)) { logger.info("Cube name should not be empty."); throw new BadRequestException(msg.getEMPTY_CUBE_NAME()); } if (!ValidateUtil.isAlphanumericUnderscore(cubeName)) { logger.info("Invalid Cube name {}, only letters, numbers and underscore supported.", cubeName); throw new BadRequestException(String.format(Locale.ROOT, msg.getINVALID_CUBE_NAME(), cubeName)); } if (!isDraft) { DataModelDesc modelDesc = modelService.getDataModelManager().getDataModelDesc(desc.getModelName()); if (modelDesc == null) { throw new BadRequestException( String.format(Locale.ROOT, msg.getMODEL_NOT_FOUND(), desc.getModelName())); } if (modelDesc.isDraft()) { logger.info("Cannot use draft model."); throw new BadRequestException( String.format(Locale.ROOT, msg.getUSE_DRAFT_MODEL(), desc.getModelName())); } } }
protected void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); String prj = cubeDesc.getProject(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); Set<TableRef> tblRefs = cubeDesc.getModel().getAllTables(); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_RESOURCE_ROOT)); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_EXD_RESOURCE_ROOT)); if (doMigrateSegment) { for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } } if (doAclCopy) { metaResource.add(ACL_PREFIX + cube.getUuid()); metaResource.add(ACL_PREFIX + cube.getModel().getUuid()); } }
public void dropModel(DataModelDesc desc) throws IOException { aclEvaluate.checkProjectWritePermission(desc.getProjectInstance().getName()); Message msg = MsgPicker.getMsg(); //check cube desc exist List<CubeDesc> cubeDescs = getCubeDescManager().listAllDesc(); for (CubeDesc cubeDesc : cubeDescs) { if (cubeDesc.getModelName().equals(desc.getName())) { throw new BadRequestException( String.format(Locale.ROOT, msg.getDROP_REFERENCED_MODEL(), cubeDesc.getName())); } } getDataModelManager().dropModel(desc); }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String cubeDescName = cacheKey; CubeDesc cubeDesc = getCubeDesc(cubeDescName); String modelName = cubeDesc == null ? null : cubeDesc.getModelName(); if (event == Event.DROP) removeLocalCubeDesc(cubeDescName); else reloadCubeDescQuietly(cubeDescName); for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(modelName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
String cubeName = (String) opt.params[1]; String projectName = (String) opt.params[2]; String modelName = srcCube.getDescriptor().getModelName();
String cubeName = (String) opt.params[1]; String projectName = (String) opt.params[2]; String modelName = srcCube.getDescriptor().getModelName();
DataModelDesc dataModelDesc = metadataManager.getDataModelDesc(cubeDesc.getModelName()); if (StringUtils.isEmpty(dataModelDesc.getPartitionDesc().getPartitionDateColumn())) { logger.error("No incremental cube, no need to extend.");
CubeInstance cube = (CubeInstance) realization; CubeDesc cubeDesc = cubeDescManager.getCubeDesc(cube.getDescName()); DataModelDesc modelDesc = metadataManager.getDataModelDesc(cubeDesc.getModelName());
DataModelDesc dataModelDesc = metadataManager.getDataModelDesc(cubeDesc.getModelName()); if (StringUtils.isEmpty(dataModelDesc.getPartitionDesc().getPartitionDateColumn())) { logger.error("No incremental cube, no need to extend.");
public CubeInstanceResponse(CubeInstance cube, String project) { this.project = project; if (cube == null) return; setUuid(cube.getUuid()); setVersion(cube.getVersion()); setName(cube.getName()); setOwner(cube.getOwner()); setDescName(cube.getDescName()); setCost(cube.getCost()); setStatus(cube.getStatus()); setSegments(cube.getSegments()); setCreateTimeUTC(cube.getCreateTimeUTC()); setLastModified(cube.getDescriptor().getLastModified()); setCuboidLastOptimized(cube.getCuboidLastOptimized()); this.model = cube.getDescriptor().getModelName(); this.partitionDateStart = cube.getDescriptor().getPartitionDateStart(); // cuz model doesn't have a state to label a model is broken, // so in some case the model can not be loaded due to some check failed, // but the cube in this model can still be loaded. if (cube.getModel() != null) { this.partitionDateColumn = cube.getModel().getPartitionDesc().getPartitionDateColumn(); this.isStandardPartitioned = cube.getModel().isStandardPartitionedDateColumn(); this.isStreaming = cube.getModel().getRootFactTable().getTableDesc() .getSourceType() == ISourceAware.ID_STREAMING; } initSizeKB(); initInputRecordCount(); initInputRecordSizeBytes(); }
newCubeDesc.setName(cubeDesc.getName()); newCubeDesc.setDraft(cubeDesc.isDraft()); newCubeDesc.setModelName(cubeDesc.getModelName()); newCubeDesc.setDescription(cubeDesc.getDescription()); newCubeDesc.setNullStrings(cubeDesc.getNullStrings());
private static void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, List<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); for (String table : cubeDesc.getModel().getAllTables()) { metaResource.add(TableDesc.concatResourcePath(table.toUpperCase())); } for (CubeSegment segment : cube.getSegments()) { dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } }
private static void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); for (TableRef table : cubeDesc.getModel().getAllTables()) { metaResource.add(table.getTableDesc().getResourcePath()); } for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } }
protected void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); String prj = cubeDesc.getProject(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); Set<TableRef> tblRefs = cubeDesc.getModel().getAllTables(); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_RESOURCE_ROOT)); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_EXD_RESOURCE_ROOT)); if (doMigrateSegment) { for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } } if (doAclCopy) { metaResource.add(ACL_PREFIX + cube.getUuid()); metaResource.add(ACL_PREFIX + cube.getModel().getUuid()); } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String cubeDescName = cacheKey; CubeDesc cubeDesc = getCubeDesc(cubeDescName); String modelName = cubeDesc == null ? null : cubeDesc.getModelName(); if (event == Event.DROP) removeLocalCubeDesc(cubeDescName); else reloadCubeDescQuietly(cubeDescName); for (ProjectInstance prj : ProjectManager.getInstance(config).findProjectsByModel(modelName)) { broadcaster.notifyProjectSchemaUpdate(prj.getName()); } } }
public static CubeDesc getCopyOf(CubeDesc cubeDesc) { CubeDesc newCubeDesc = new CubeDesc(); newCubeDesc.setName(cubeDesc.getName()); newCubeDesc.setModelName(cubeDesc.getModelName()); newCubeDesc.setDescription(cubeDesc.getDescription()); newCubeDesc.setNullStrings(cubeDesc.getNullStrings()); newCubeDesc.setDimensions(cubeDesc.getDimensions()); newCubeDesc.setMeasures(cubeDesc.getMeasures()); newCubeDesc.setRowkey(cubeDesc.getRowkey()); newCubeDesc.setHbaseMapping(cubeDesc.getHbaseMapping()); newCubeDesc.setSignature(cubeDesc.getSignature()); newCubeDesc.setNotifyList(cubeDesc.getNotifyList()); newCubeDesc.setAutoMergeTimeRanges(cubeDesc.getAutoMergeTimeRanges()); newCubeDesc.setRetentionRange(cubeDesc.getRetentionRange()); newCubeDesc.setConfig(cubeDesc.getConfig()); newCubeDesc.updateRandomUuid(); return newCubeDesc; }
newCubeDesc.setName(cubeDesc.getName()); newCubeDesc.setDraft(cubeDesc.isDraft()); newCubeDesc.setModelName(cubeDesc.getModelName()); newCubeDesc.setDescription(cubeDesc.getDescription()); newCubeDesc.setNullStrings(cubeDesc.getNullStrings());