累吗?累就对了,舒服是留给死人的...

.....说人好比盆中鲜花,生活就是一团乱麻,房屋修的再好那只是个临时住所,这个小盒才是你永久的家呀!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通过java代码对kylin进行cube build

Posted on 2016-09-07 12:22  Aaron-Mhs  阅读(1394)  评论(0编辑  收藏  举报

转:http://www.cnblogs.com/hark0623/p/5580632.html

通常是用于增量

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.dlht.kylinDemo;
 
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
 
import org.apache.commons.codec.binary.Base64;
 
public class BuildTest {
    static String ACCOUNT = "ADMIN";
    static String PWD = "KYLIN";
    static String PATH = "http://192.168.22.102:7070/kylin/api/cubes/KPI_Base_DataCppaCrcCount_test_Cube/rebuild";
 
 
    public static void main(String[] args) {
        System.out
                .println(Put(
                        PATH,
                        "{\"startTime\": 1451750400000,\"endTime\": 1451836800000,\"buildType\": \"BUILD\"}"));
 
    }
 
    public static String Put(String addr, String params) {
        String result = "";
        try {
            URL url = new URL(addr);
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection.setRequestMethod("PUT");
            connection.setDoOutput(true);
            String auth = ACCOUNT + ":" + PWD;
            String code = new String(new Base64().encode(auth.getBytes()));
            connection.setRequestProperty("Authorization""Basic " + code);
            connection.setRequestProperty("Content-Type",
                    "application/json;charset=UTF-8");
            PrintWriter out = new PrintWriter(connection.getOutputStream());
            out.write(params);
            out.close();
            BufferedReader in;
            try {
                in = new BufferedReader(new InputStreamReader(
                        connection.getInputStream()));
            catch (FileNotFoundException exception) {
                java.io.InputStream err = ((HttpURLConnection) connection)
                        .getErrorStream();
                if (err == null)
                    throw exception;
                in = new BufferedReader(new InputStreamReader(err));
            }
            StringBuffer response = new StringBuffer();
            String line;
            while ((line = in.readLine()) != null)
                response.append(line + "\n");
            in.close();
 
            result = response.toString();
        catch (MalformedURLException e) {
            System.err.println(e.toString());
        catch (IOException e) {
            System.err.println(e.toString());
        }
        return result;
    }
}

这是官方教程:http://kylin.apache.org/docs15/howto/howto_use_restapi.html#build-cube  

默认帐号密码就是ADMIN KYLIN

在starttime和endtime填写时间,就是build的开始结束时间,注意starttime肯定要先于endtime,同时还要注意,starttime必须要晚于最后一次构建的结束时间