zoukankan      html  css  js  c++  java
  • [工具类] Hive SQL

    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
            }
        }
        
    
    
    }
  • 相关阅读:
    Game的基本元素.[小糊涂的灵感]
    J2ME图书介绍 [小糊涂的灵感]
    j2me 这个论坛好一点.[小糊涂的灵感]
    Frame rate test for tilebased games 测试结果.[小糊涂的灵感]
    源码方式在ubuntu系统上安装ruby1.9.2
    模块全解======>>ruby的类是单继承生物、所以出现了module、实现了多继承
    在ubuntu下安装rails3.0
    在ubuntu下编写运行shell脚本
    在linux下开远程桌面访问windows的解决方法
    在命令行中打开sqlite的数据库
  • 原文地址:https://www.cnblogs.com/feelgood/p/4992112.html
Copyright © 2011-2022 走看看