package com.claw.util.hive;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Hql {
public static String exec(String sql) throws Exception{
System.out.println("start sql .....");
String result = "0";
List<String> command = new ArrayList<String>();
command.add("hive");
command.add("-e");
command.add(sql);
System.out.println(sql);
ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);
Process hiveProcess = hiveProcessBuilder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(hiveProcess.getInputStream()));
System.out.println("hsql run ......");
String data = null;
if((data = br.readLine()) != null){
result = data;
}
return result;
}
public static List<String> sqlList(String sql) throws Exception{
System.out.println("start sql list .....");
List<String> list = new ArrayList<String>();
List<String> command = new ArrayList<String>();
command.add("hive");
command.add("-e");
command.add(sql);
System.out.println(sql);
ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);
Process hiveProcess = hiveProcessBuilder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(hiveProcess.getInputStream()));
System.out.println("hsql run ......");
String data = null;
while((data = br.readLine()) != null){
list.add(data);
}
return list;
}
public static void t() throws Exception{
String sql="select count(distinct(cookie)) from logs where eventdate=20150724";
List<String> command = new ArrayList<String>();
command.add("hive");
command.add("-e");
command.add(sql);
ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);
Process hiveProcess = hiveProcessBuilder.start();
BufferedReader br = new BufferedReader(new InputStreamReader(hiveProcess.getInputStream()));
String data = null;
System.out.println("--------------------");
if ((data = br.readLine()) != null) {
System.out.println(data);
}
}
public static void main(String[] args) {
try {
t();
} catch (Exception e) {
// TODO: handle exception
}
}
}