初始presto

1.presto是什么

 

Presto是一个facebook开源的分布式SQL查询引擎

2.properties配置

2.1达梦

/etc/catalog/dameng123.properties

connector.name=dameng
connection-url=jdbc:mysql://127.0.0.1:8080?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true&failOverReadOnly=false
connection-user=root
connection-password=root
connector.name 连接名,固定是"dameng"
connection-url 连接url,注意不用配模式名(数据库名),如devdb等
connection-user 用户名
connection-password 密码

 2.2mysql

/etc/catalog/mysql123.properties

connector.name=mysql
connection-url=jdbc:mysql://127.0.0.1:8080?useUnicode=true&characterEncoding=utf-8&useSSL=false&autoReconnect=true&failOverReadOnly=false
connection-user=root
connection-password=root
connector.name 连接名,固定是"mysql"
connection-url 连接url,注意不用配数据库名,如devdb等
connection-user 用户名
connection-password 密码

3.sql写法

其中dameng123是properties名称,bspdev是数据库名称,ds1005是表名

那么执行的sql中需要在表名前加【catalog.schema】, 如select * from dameng123.bspdev.ds1005,否则报错

程序中的sql也一样要注意 ,会根据catalog名称去找presto的properties配置文件,从而读指定文件的数据源

4.程序连接

4.1配置presto连接

以下前缀不固定,保证程序可以读到就好,你写test.url也行

com.presto.url=jdbc:presto://localhost:8080
com.presto.username=root
com.presto.password=root
com.presto.maxTotal=100
com.presto.maxIdle=80
com.presto.minIdle=1
com.presto.initialSize=1
com.presto.maxWaitMillis=6000

4.2建立数据源属性对应实体类

@Setter
@Getter
public class DataservicePrestoProperties {

    private String driverClassName = "com.facebook.presto.jdbc.PrestoDriver";
    private Class<? extends DataSource> type;
    private volatile String password;
    private String url;
    private String username = "root";
    private int maxTotal = GenericObjectPoolConfig.DEFAULT_MAX_TOTAL;
    private int maxIdle = GenericObjectPoolConfig.DEFAULT_MAX_IDLE;
    private int minIdle = GenericObjectPoolConfig.DEFAULT_MIN_IDLE;
    private int initialSize = 0;
    private long maxWaitMillis = BaseObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS;

}

4.2用@ConfigurationProperties读出配置文件中的presto连接

 @Bean(name = "dataservicePrestoProperties")
    @ConfigurationProperties(prefix = "com.presto")//这就是刚刚在配置文件中定义的前缀
    public DataservicePrestoProperties dataservicePrestoProperties() {
        return new DataservicePrestoProperties();//这就是刚刚写的配置文件对应的实体类
    }

4.3.完整代码

@Configuration
public class DataservicePrestoConfig {

    @Bean(name = "dataservicePrestoProperties")
    @ConfigurationProperties(prefix = "com.presto")//这就是刚刚在配置文件中定义的前缀
    public DataservicePrestoProperties dataservicePrestoProperties() {
        return new DataservicePrestoProperties();//这就是刚刚写的配置文件对应的实体类
    }

    @Bean(name = "dataservicePrestoDataSource")
    public BasicDataSource dataservicePrestoDataSource(@Qualifier("dataservicePrestoProperties") DataservicePrestoProperties properties) {
        BasicDataSource basicDataSource = new BasicDataSource();
        basicDataSource.setUrl(properties.getUrl());
        basicDataSource.setUsername(properties.getUsername());
        basicDataSource.setPassword(properties.getPassword());
        basicDataSource.setMaxTotal(properties.getMaxTotal());
        basicDataSource.setMaxIdle(properties.getMaxIdle());
        basicDataSource.setMinIdle(properties.getMinIdle());
        basicDataSource.setInitialSize(properties.getInitialSize());
        basicDataSource.setMaxWaitMillis(properties.getMaxWaitMillis());
        return basicDataSource;
    }

}

5.依赖

 <!-- Presto -->
            <dependency>
                <groupId>com.facebook.presto</groupId>
                <artifactId>presto-jdbc</artifactId>
                <version>${presto-jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.facebook.presto</groupId>
                <artifactId>presto-base-jdbc</artifactId>
                <version>${presto-jdbc.version}</version>
            </dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值