大数据Apache Druid(八):Druid JDBC API和其他OLAP分析框架对比

举报
Lansonli 发表于 2022/08/24 00:49:34 2022/08/24
【摘要】 Druid JDBC API和其他OLAP分析框架对比一、Druid JDBC API在大数据处理场景中,我们可以编写接口来读取Druid中的数据进行聚合操作,以供可视化展示使用。下面使用jdbc的方式来读取Druid中的数据。1、首先需要在maven项目中导入Druid的依赖<dependency> <groupId>org.apache.calcite.avatica</groupId...

Druid JDBC API和其他OLAP分析框架对比

一、Druid JDBC API

在大数据处理场景中,我们可以编写接口来读取Druid中的数据进行聚合操作,以供可视化展示使用。下面使用jdbc的方式来读取Druid中的数据。

1、首先需要在maven项目中导入Druid的依赖

<dependency>
  <groupId>org.apache.calcite.avatica</groupId>
  <artifactId>avatica-core</artifactId>
  <version>1.15.0</version>
</dependency>

2、编写代码读取Druid中的数据

/**
 *  使用JDBC的方式连接Druid
 */
public class ReadDruidData {
    public static void main(String[] args) throws SQLException {
        //1.连接Druid
        Properties props = new Properties();
        Connection conn = DriverManager.getConnection("jdbc:avatica:remote:url=http://node5:8888/druid/v2/sql/avatica/", props);

        //2.准备查询语句
        PreparedStatement pst = conn.prepareStatement("select loc,item,sum(amount) as total_amount from \"druid-topic\" group by loc,item");

        //3.执行查询获取结果
        ResultSet rst = pst.executeQuery();

        while(rst.next()){
            String loc = rst.getString("loc");
            String item = rst.getString("item");
            Double totalAmount = rst.getDouble("total_amount");
            System.out.println("loc = "+loc +",item = "+item+",totalAmount = "+totalAmount);
        }

        //4.关闭连接
        rst.close();
        pst.close();
        conn.close();
    }
}


二、​​​​​​​Druid与其他OLAP分析框架对比

对比项

Druid

clickhouse

Kylin

HBase

Impala

kudu

presto

聚合亚秒级响应

Y

Y

Y

N

N

N

N

SQL支持

Y

Y

Y

N

Y

N

Y

离线

Y

Y

Y

Y

Y

Y

Y

实时

Y

Y

Y

N

N

N

N

精准去重

N

Y

Y

-

Y

-

Y

多表join

Y(不建议)

Y

Y

N

Y

N

Y

JDBC API

Y

Y

Y

Y

Y

Y

Y

预聚合

Y

Y

N

N

N

N

N

预计算

N

N

Y

N

N

N

N

基于内存计算

N

N

N

N

Y

N

Y

HDFS存储

Y

N(部分引擎支持)

Y

Y

Y

N

Y

支持更新

N (支持Segment批量覆盖更新)

Y

N

Y

N(Kudu 引擎支持)

Y

N

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。