• [工具类] 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
            }
        }
        
    
    
    }
  • 相关阅读:
    MySQL 查询树结构、循环查询、查看函数、视图、存储过程
    SpringBoot 部署:外置依赖包
    springboot集成docker实现自动化构建镜像说明
    Chrome谷歌浏览器常用快捷键、开发技巧
    Windows常用CMD命令
    Git 版本管理,与 SVN区别对比
    TensorFlow重新导入restore报错: OP_REQUIRES failed at save_restore_v2_ops.cc:184 : Not found: Key Variable not found in checkpoint
    MySQL字符集设置
    Hive 时间操作
    深度思考:如何规划你的职业生涯
  • 原文地址:https://www.cnblogs.com/feelgood/p/4992112.html
Copyright © 2020-2023  润新知