数据仓库(十三)--java--presto---SpringMVC使用presto查询hive

47 篇文章 36 订阅
11 篇文章 0 订阅

我们在之前的文章中已经学习过了presto的安装部署和连接hive使用。 并且在cli命令界面中进行了操作。

数据仓库(十)—分布式SQL查询引擎—presto安装部署和连接hive使用

不过我们最终的应用场景肯定是在可视化web中进行查询分析,所以有必要在web的框架中使用presto对hive进行查询。

因为我们一直用的比较多的都是SpringMVC框架,所以在这个基础上进行配置使用。

框架下载地址

SpringMVC+Shiro+MongoDB+BootStrap基础框架

官网参考文档
https://prestodb.io/docs/current/installation/jdbc.html

maven引入presto

找到项目的pom.xml文件加入代码

<dependency>
    <groupId>com.facebook.presto</groupId>
    <artifactId>presto-jdbc</artifactId>
    <version>0.196</version>
</dependency>

java代码中使用

IndexController.java

@RequestMapping("/")
    public String index(Model model) throws IOException, SQLException, ClassNotFoundException {
        Class.forName("com.facebook.presto.jdbc.PrestoDriver");
        String url = "jdbc:presto://192.168.30.252:8080/hive/default";
        Connection connection =  DriverManager.getConnection(url, "root", null);
         Statement stmt = connection.createStatement();  
         ResultSet rs = stmt.executeQuery("show tables");  
          while (rs.next()) {  
              System.out.println(rs.getString(1));  
          }
          String sql2 = "select * from genotype_pt limit 5";
          ResultSet rs2 = stmt.executeQuery(sql2);
          while(rs2.next()) {
          String str = rs2.getString(1);
          System.out.println(str);
          }
          rs.close();  
          connection.close();  
        return "/index";
    }

注意:username和password并不会用来做验证,但是username必须填写,可以随意填写。

ResultSet转换为实体list

//rs是一个查询语句所返回的结果集

ResultSet rs=new ResultSet();
rs=pstmt.executeQuery();
//将rs逐条取出,并将每一项放在一个bean对应的值里
               while(rs.next())
               { 
                 RecBean rec=new RecBean();
                 rec.setId(rs.getInt(1));
                 rec.setAgentNo(rs.getString(2));
                rec.setFileName(rs.getString(3));
                list.add(rec);
                }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值