(三)presto整合SpringBoot

1.说明

1.1PrestoDB是facebook开源的支持多数据源混合查询的一个计算引擎,他的最大特点:1.查询速度快 2.支持多数据源在一条SQL语句中混合查询 3.基于内存的查询。当我们安装好PrestoDB,且通过配置多个数据源在Java的Maven项目实现了跨数据源混合查询实验后,我们需要将整个PrestoDB嵌入Java的SpringBoot框架。
(1)如果没有安装PrestoDB的朋友可以通过:https://blog.csdn.net/Sunhighlight/article/details/87906816 实现安装
(2)如果没有实现多数据源配置和打通实验的可以根据:https://blog.csdn.net/Sunhighlight/article/details/89043885 实现PrestoDB的多数据源配置,且通过java的main方法尝试多数据源查询

2.创建Java项目

2.1创建Java的SpringBoot项目,依赖管理使用Maven,JDK版本:1.8

3.整合PrestoDB作为计算引擎

3.1在Maven的Pom文件引入PrestoDB的驱动依赖:

    
    
      com.facebook.presto
      presto-jdbc
      0.203
    

3.2配置application.yml文件

 datasource:
    #数据库连接1
    presto:
      name: presto
      type: org.apache.tomcat.jdbc.pool.DataSource
      driver-class-name: com.facebook.presto.jdbc.PrestoDriver
      url: jdbc:presto://192.168.1.200:8089/system/runtime
      username: root

(三)presto整合SpringBoot_第1张图片
注意:
(1)本项目其他数据源使用的是阿里巴巴druid数据库连接池,但是该连接池不支持PrestoDB,如果使用会爆出:java.lang.IllegalStateException: dbType not support错误,故我们用org.apache.tomcat.jdbc.pool.DataSource连接池

3.3创建数据源配置类

/**
 * @author 杨强光
 * @version V1.0
 * @date 2018/9/2 20:27
 */
@Configuration
public class GlobalDataSourceConfiguration {

  private static Logger LOG = LoggerFactory.getLogger(GlobalDataSourceConfiguration.class);

  @Bean(name = "prestoDataSource")
  @ConfigurationProperties(prefix = "spring.datasource.presto")
  public DataSource prestoDataSource() {
    LOG.info("-------------------- presto init ---------------------");
    return DataSourceBuilder.create().build();
  }

  @Bean(name = "prestoTemplate")
  public JdbcTemplate prestoJdbcTemplate(@Qualifier("prestoDataSource") DataSource dataSource) {
    return new JdbcTemplate(dataSource);
  }

}

4.3使用prestoDB直接执行SQL
(三)presto整合SpringBoot_第2张图片
在这里插入图片描述

你可能感兴趣的:(数据库)