龙空技术网

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

Lansonli 21365

前言:

眼前你们对“apachedurid”大体比较关怀,看官们都需要剖析一些“apachedurid”的相关内容。那么小编也在网络上网罗了一些对于“apachedurid””的相关知识,希望看官们能喜欢,你们快快来学习一下吧!

#头条创作挑战赛#

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=;, 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

标签: #apachedurid #apacheconn