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
            }
        }
        
    
    
    }
  • 相关阅读:
    python自定义ORM并操作数据库
    python 元类理解
    Python中type()详解:动态创建类
    Centos7安装教程
    数据库建模:学生信息系统搭建实验
    数据库索引、视图与触发器
    用python批量插入数据到数据库中
    制作一个简单的部门员工知识分享的python抽取脚本
    【Mybatis】XML配置实现增删改查
    NIO,AIO,BIO
  • 原文地址:https://www.cnblogs.com/feelgood/p/4992112.html
Copyright © 2011-2022 走看看