Javaコードでkylinをcube buildする方法
2487 ワード
通常はインクリメンタル用
コードは次のとおりです.
これは公式チュートリアルです.http://kylin.apache.org/docs15/howto/howto_use_restapi.html#build-cube
デフォルトアカウントパスワードはADMIN KYLINです
starttimeとendtimeで時間を記入するのはbuildの開始終了時間です.starttimeはendtimeより大きいに違いありません.また、starttimeは履歴より大きい必要があります.
コードは次のとおりです.
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 + "
");
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は履歴より大きい必要があります.