You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/04/26 06:22:36 UTC
[29/41] incubator-kylin git commit: add delete model
add delete model
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/7ecdc050
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/7ecdc050
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/7ecdc050
Branch: refs/heads/streaming
Commit: 7ecdc050fc98bf1cc9c1c3a86ee659f8268ab5e8
Parents: 9f2d74d
Author: jiazhong <ji...@ebay.com>
Authored: Fri Apr 3 16:21:08 2015 +0800
Committer: jiazhong <ji...@ebay.com>
Committed: Tue Apr 7 17:15:29 2015 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/cube/CubeManager.java | 2 --
.../apache/kylin/metadata/MetadataManager.java | 1 -
.../kylin/rest/controller/ModelController.java | 21 ++++++++++++++++++--
.../apache/kylin/rest/service/CubeService.java | 2 +-
.../apache/kylin/rest/service/ModelService.java | 12 ++++++++++-
webapp/app/js/controllers/cube.js | 9 +--------
webapp/app/js/controllers/cubes.js | 4 ----
webapp/app/js/controllers/modelEdit.js | 12 +++--------
webapp/app/js/controllers/projects.js | 2 +-
webapp/app/js/model/cubeConfig.js | 2 +-
10 files changed, 37 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 8493c59..e05f46c 100644
--- a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -31,14 +31,12 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hbase.util.Pair;
-import org.apache.kylin.cube.model.CubeBuildTypeEnum;
import org.apache.kylin.cube.model.CubeDesc;
import org.apache.kylin.cube.model.DimensionDesc;
import org.apache.kylin.metadata.realization.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Preconditions;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java b/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
index a65a887..60f06eb 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
@@ -295,7 +295,6 @@ public class MetadataManager {
ProjectInstance projectInstance = ProjectManager.getInstance(config).getProject(projectName);
HashSet<DataModelDesc> ret = new HashSet<>();
-
if (projectInstance != null&&projectInstance.getModels()!=null) {
for (String modelName : projectInstance.getModels()) {
DataModelDesc model = getDataModelDesc(modelName);
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
index 3e17be1..ba45df1 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
@@ -24,11 +24,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.commons.lang.StringUtils;
import org.apache.kylin.common.util.JsonUtil;
+import org.apache.kylin.cube.CubeInstance;
import org.apache.kylin.metadata.model.DataModelDesc;
import org.apache.kylin.metadata.project.ProjectInstance;
import org.apache.kylin.rest.exception.BadRequestException;
import org.apache.kylin.rest.exception.ForbiddenException;
import org.apache.kylin.rest.exception.InternalErrorException;
+import org.apache.kylin.rest.exception.NotFoundException;
import org.apache.kylin.rest.request.ModelRequest;
import org.apache.kylin.rest.service.ModelService;
import org.slf4j.Logger;
@@ -119,7 +121,7 @@ public class ModelController extends BasicController {
return modelRequest;
}
try {
- modelDesc = modelService.updateModelAndDesc(modelDesc,modelRequest.getProject());
+ modelDesc = modelService.updateModelAndDesc(modelDesc);
} catch (AccessDeniedException accessDeniedException) {
throw new ForbiddenException("You don't have right to update this cube.");
} catch (Exception e) {
@@ -138,7 +140,22 @@ public class ModelController extends BasicController {
return modelRequest;
}
-
+// @RequestMapping(value = "/{cubeName}", method = {RequestMethod.DELETE})
+// @ResponseBody
+// @Metered(name = "deleteCube")
+// public void deleteCube(@PathVariable String cubeName) {
+// CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
+// if (null == cube) {
+// throw new NotFoundException("Cube with name " + cubeName + " not found..");
+// }
+//
+// try {
+// cubeService.deleteCube(cube);
+// } catch (Exception e) {
+// logger.error(e.getLocalizedMessage(), e);
+// throw new InternalErrorException("Failed to delete cube. " + " Caused by: " + e.getMessage(), e);
+// }
+// }
private DataModelDesc deserializeDataModelDesc(ModelRequest modelRequest) {
DataModelDesc desc = null;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
index ad74449..548f16c 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -235,7 +235,7 @@ public class CubeService extends BasicService {
}
@PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT')")
- public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String newProjectName) throws UnknownHostException, IOException, JobException {
+ public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String newProjectName) throws IOException, JobException {
final List<CubingJob> cubingJobs = listAllCubingJobs(cube.getName(), null, EnumSet.of(ExecutableState.READY, ExecutableState.RUNNING));
if (!cubingJobs.isEmpty()) {
throw new JobException("Cube schema shouldn't be changed with running job.");
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
index d210077..3c349cc 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -109,11 +109,21 @@ public class ModelService extends BasicService {
@PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')")
- public DataModelDesc updateModelAndDesc(DataModelDesc desc, String newProjectName) throws IOException {
+ public DataModelDesc updateModelAndDesc(DataModelDesc desc) throws IOException {
getMetadataManager().updateDataModelDesc(desc);
return desc;
}
+ @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')")
+ public void deleteCube(DataModelDesc desc) throws IOException {
+// final List<CubingJob> cubingJobs = listAllCubingJobs(cube.getName(), null, EnumSet.of(ExecutableState.READY, ExecutableState.RUNNING));
+
+
+
+
+// getCubeManager().dropCube(cube.getName(), true);
+// accessService.clean(cube, true);
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/webapp/app/js/controllers/cube.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cube.js b/webapp/app/js/controllers/cube.js
index 2585345..d9e7764 100755
--- a/webapp/app/js/controllers/cube.js
+++ b/webapp/app/js/controllers/cube.js
@@ -222,11 +222,9 @@ KylinApp.controller('CubeCtrl', function ($scope, AccessService, MessageService,
loadingRequest.show();
CubeService.drop({cubeId: cube.name}, {}, function (result) {
-
loadingRequest.hide();
-// CubeList.removeCube(cube);
SweetAlert.swal('Success!', 'Cube drop is done successfully', 'success');
-
+ location.reload();
},function(e){
loadingRequest.hide();
@@ -437,11 +435,6 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic
$scope.updateDate = function() {
-
-// if ($scope.cube.detail.partition_desc.cube_partition_type=='UPDATE_INSERT')
-// {
-// $scope.jobBuildRequest.startTime=$scope.formatDate($scope.jobBuildRequest.startTime);
-// }
$scope.jobBuildRequest.endTime=$scope.formatDate($scope.jobBuildRequest.endTime);
};
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/webapp/app/js/controllers/cubes.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubes.js b/webapp/app/js/controllers/cubes.js
index de1ba98..b335e79 100755
--- a/webapp/app/js/controllers/cubes.js
+++ b/webapp/app/js/controllers/cubes.js
@@ -237,10 +237,6 @@ KylinApp
CubeService.drop({cubeId: cube.name}, {}, function (result) {
loadingRequest.hide();
-// var cubeIndex = CubeList.cubes.indexOf(cube);
-// if (cubeIndex > -1) {
-// $scope.cubes.splice(cubeIndex, 1);
-// }
CubeList.removeCube(cube);
SweetAlert.swal('Success!', 'Cube drop is done successfully', 'success');
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/webapp/app/js/controllers/modelEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/modelEdit.js b/webapp/app/js/controllers/modelEdit.js
index 5ca95b1..a571611 100644
--- a/webapp/app/js/controllers/modelEdit.js
+++ b/webapp/app/js/controllers/modelEdit.js
@@ -71,8 +71,6 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
// ~ init
if ($scope.isEdit = !!$routeParams.modelName) {
-
-
var modelName = $routeParams.modelName;
ModelDescService.get({model_name: modelName}, function (model) {
if (model) {
@@ -112,10 +110,6 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
$scope.model.partition_desc.partition_date_start = new Date(moment.utc(dateStart, "YYYY-MM-DD").format()).getTime();
- if($scope.model.partition_desc.partition_date_column.indexOf(".")==-1){
- $scope.model.partition_desc.partition_date_column=$scope.model.fact_table+"."+$scope.model.partition_desc.partition_date_column;
- }
-
}
if($scope.model.partition_desc.partition_date_column==null){
$scope.model.partition_desc.partition_date_start=null;
@@ -145,9 +139,9 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
}
SweetAlert.swal({
- title: '',
- text: 'Are you sure to save the Model ?',
- type: '',
+ title: 'Are you sure to update the model?',
+ text: $scope.isEdit?' Please note: if model schema is changed, all cubes of the model will be affected.':'Are you sure to save the Model ?',
+ type: 'warning',
showCancelButton: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: "Yes",
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/webapp/app/js/controllers/projects.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/projects.js b/webapp/app/js/controllers/projects.js
index e906188..e0cc64d 100644
--- a/webapp/app/js/controllers/projects.js
+++ b/webapp/app/js/controllers/projects.js
@@ -77,7 +77,7 @@ KylinApp
if (pIndex > -1) {
$scope.projects.splice(pIndex, 1);
}
- ProjectModel.removeProject(project.name);
+ ProjectModel.removeProject(project.name);
SweetAlert.swal('Success!',"Project [" + project.name + "] has been deleted successfully!", 'success');
},function(e){
if(e.data&& e.data.exception){
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7ecdc050/webapp/app/js/model/cubeConfig.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/model/cubeConfig.js b/webapp/app/js/model/cubeConfig.js
index 5709cc3..ecdd316 100644
--- a/webapp/app/js/model/cubeConfig.js
+++ b/webapp/app/js/model/cubeConfig.js
@@ -54,7 +54,7 @@ KylinApp.constant('cubeConfig', {
measureExpression: 'SUM',
measureParamType: 'column',
measureDataType: {name: 'BIGINT', value: 'bigint'},
- distinctDataType: {name: 'Error Rate < 2.44%', value: 'hllc14'},
+ distinctDataType: {name: 'Error Rate < 4.88%', value: 'hllc12'},
cubeCapacity: 'MEDIUM',
queryPriority: {name: 'NORMAL', value: 50},
cubePartitionType: 'APPEND'