将Snowflake作为Presto数据源时能否使用其官方JDBC驱动
是否可以用Snowflake官方JDBC驱动对接Presto做数据源
完全可以实现该需求,Presto原生提供JDBC连接器,可直接对接Snowflake官方JDBC驱动完成数据源接入。
具体配置步骤
- 第一步:下载对应版本的Snowflake官方JDBC驱动jar包,将jar包放置到Presto集群所有coordinator、worker节点的
plugin/jdbc/目录下。 - 第二步:在Presto部署节点的
etc/catalog目录下新增Snowflake数据源配置文件,命名为snowflake.properties,核心配置项参考:
connector.name=jdbc # 替换为你自己的Snowflake实例、库、Schema、仓库、角色信息 connection-url=jdbc:snowflake://<your-account-id>.snowflakecomputing.com/?db=<db-name>&schema=<schema-name>&warehouse=<warehouse-name>&role=<role-name> connection-user=<snowflake-username> connection-password=<snowflake-password> jdbc.driver-class=net.snowflake.client.jdbc.SnowflakeDriver # 可选:开启下推优化提升查询性能 jdbc.pushdown-enabled=true jdbc.pushdown.dereference-expression=true
- 第三步:重启所有Presto节点,集群启动完成后可执行命令
SHOW TABLES FROM snowflake.<db-name>.<schema-name>;验证数据源连通性,验证通过后即可正常在应用侧通过Presto读取Snowflake的数据。
注意事项
- 建议选择和你Presto版本兼容的Snowflake JDBC驱动版本,避免出现类加载冲突类报错。
- Snowflake侧给连接使用的账号,需要提前开通对应库表的查询权限、以及配置中指定虚拟仓库的使用权限。
- 目前主流的Trino(原PrestoSQL)分支,该配置逻辑完全通用,无需额外适配。
内容的提问来源于stack exchange,提问作者raoyen
相关产品推荐
相关产品推荐

