最近搭建了一套kylin环境,但是测试使用cube时,却提示删除不了。这里记录下解决方式。
用测试数据构建Cube时,出现构建失败,如下图:
于是想先删除cube,但是删除失败,提示如下:
所以想着是不是有对应的job任务卡着了,通过kylin restapi查看(如果出现认证的情况,参考文章末尾):
官方文档:http://kylin.apache.org/cn/docs/howto/howto_use_restapi.html#get-job-list
注意,projectName、offset、limit、timeFilter为必填参数
其中timeFilter是关键,可以指定查询时间,我第一次就因为忽略了这个误以为待删除cube的job任务已经删除了。
查询结果显示该cube全部的job任务只有一个,状态为失败:
所以继续调用rest api丢弃该cube:
官方文档:http://kylin.apache.org/cn/docs/howto/howto_use_restapi.html#discard-job
这里的cubeid即为上一步查询出来的job中的uuid。
随后再次删除cube即成功删除。
注:如果提示需要认证等情况,则可以在postman中的请求头中添加如下消息:
Authorization是kylin的一种验证方式,主要是将用户名密码base64加密,具体的大家看下代码就懂了:
String auth = kylinUserName + ":" + kylinPassword;
String code = new String(Base64.encodeBase64(auth.getBytes()));
Map<String,String> headers = new HashMap<>();
headers.put("Authorization","Basic " + code);
在对应postman中的配置则如下图: