如何通过java代码对kylin进行cube build

通常是用于增量

代码如下:

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必须要大于历史

上一篇:hdu3240 Counting Binary Trees


下一篇:eight - zoj 1217 poj 1077