pinot jdbc 连接池工具使用说明

apache pinot 是一个很不错高性能的实时分析工具,同时提供了sql 查询能力,官方的jdbc 就是基于rest 包装的sql 查询

目前的问题

官方是基于sql +rest api (java client) 进行的jdbc 驱动开发,对于一些不支持的特性直接会跑出异常,这些很容易造成
好多数据库连接池工具不能工作

  • 几个包含的配置
    事务隔离级别,自动提交,清理警告,事务提交
  • 解决方法
    从目前来说,要么不使用连接池,如果希望使用连接池工具方法就是自己修改下jdbc 驱动(当前自己调整一个连接池处理也行,但是不推荐)

修改说明

代码: pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/base/AbstractBaseConnection.java
参考修改

 
 @Override
  public void clearWarnings()
      throws SQLException {
  }
 
  @Override
  public void commit()
      throws SQLException {
  }
 
 
 @Override
  public boolean getAutoCommit()
      throws SQLException {
    return true;
  }
 
 @Override
  public int getTransactionIsolation()
      throws SQLException {
    return -1;
  }
 
  @Override
  public void setTransactionIsolation(int level)
      throws SQLException {
  }

数据库连接池参考链接

经过修改之后使用就比较简单了,只是使用标准的玩法就行了
Hikari 的

 
public  static  DataSource newDataSource2(){
    HikariConfig config = new HikariConfig();
    config.setDriverClassName("org.apache.pinot.client.PinotDriver");
    config.setJdbcUrl("jdbc:pinot://localhost:9000");
    config.setTransactionIsolation("TRANSACTION_READ_UNCOMMITTED");
    HikariDataSource hikariDataSource = new HikariDataSource(config);
    return hikariDataSource;
}

说明

pinot jdbc 实现的不是很好,没有很好的考虑社区周边的工具,dremio 以及其他的工具就比较好,很方便集成

参考资料

https://github.com/rongfengliang/pinot-jdbc-dbcp2-pool-test

posted on   荣锋亮  阅读(249)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-02-26 dremio 配置文件
2021-02-26 cratedb 将完全开源
2020-02-26 一些pg fdw 版本过低的一些解决方法
2020-02-26 pgspider 一些ppt 截图
2020-02-26 postgres cassandra_fdw 扩展试用
2020-02-26 使用 postgres s3 fdw + cube.js 分析 csv 数据
2019-02-26 haproxy httpcheck with basic auth

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示