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"; Listcommand = new ArrayList (); 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 sqlList(String sql) throws Exception{ System.out.println("start sql list ....."); List list = new ArrayList (); List command = new ArrayList (); 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 command = new ArrayList (); 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 } } }