java程序中执行HiveQL

  这里是指java中执行hive或者hiveQL。

    注意:而不是经常说的通过JDBC的方式连接Hiveserver2来执行查询。是在部署了hiveserver的服务器上执行hive命令。这样就可以将分析得结果写到文件中,不用一定在hive的命令行client下执行。

String sql="show tables; select * from test_tb limit 10";
List<String> command = new ArrayList<String>();

command.add("hive");
command.add("-e");
command.add(sql);

List<String> results = new ArrayList<String>();
ProcessBuilder hiveProcessBuilder = new ProcessBuilder(command);
hiveProcess = hiveProcessBuilder.start();

BufferedReader br = new BufferedReader(new InputStreamReader(
		hiveProcess.getInputStream()));
String data = null;
while ((data = br.readLine()) != null) {
	results.add(data);
}

  

 

posted @ 2014-11-22 16:38  晋心  阅读(854)  评论(0编辑  收藏  举报