您的位置:首页 > 数据库

[工具类] Hive SQL

2015-11-24 16:52 369 查看
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
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: