首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将多个数据库添加到一个Presto目录?

如何将多个数据库添加到一个Presto目录?
EN

Stack Overflow用户
提问于 2019-02-09 05:23:43
回答 2查看 3.7K关注 0票数 0

我使用的是Presto版本0.216,我想在一个目录文件中连接多个数据库。我正在使用Apache SuperSet通过presto运行查询,它迫使我转到一个名为hive.properties的目录。

我在AWS的一个Ubuntu实例上运行Presto。我可以访问所有数据库,并在多个目录文件(one.properties、hive.properties等)中定义的多个数据库上运行'join‘查询。然而,如上所述,这不是superset与presto集成的方式。

在presto文档中,它说我可以运行一个命令,通过连接器名称here对数据库进行分组。

代码语言:javascript
复制
SHOW SCHEMAS FROM mysql

但是,这将失败,并显示以下错误:

代码语言:javascript
复制
Catalog mysql does not exist

我知道我没有一个名为mysql.properties的目录,但我所有的目录都有:

代码语言:javascript
复制
connector.name=mysql

所以我相信这应该行得通。我只想通过Presto从Apache SuperSet查询多个数据库。不幸的是,我不能在我的目录变量中添加多个,或者;分离的连接URL:

代码语言:javascript
复制
connection-url=jdbc:mysql://myurl:3306/ 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-15 22:21:27

您只能将超集配置为指向Presto中的某个(一个)目录。目前没有其他方法来配置超集。但是,您仍然可以发出查询(使用SQL Lab功能来测试这一点)来连接多个目录中的数据,就像通常通过Presto CLI一样:

代码语言:javascript
复制
select ..from catalog1.schema.table_name join catalog2.schema.table_name on ...

(这种方式不能得到的是显示表格列表的Superset,等等)

MySQL是令人困惑的,因为他们使用术语“数据库”来表示“模式”。单个MySQL服务器有一个或多个用户数据库,以及包括"mysql“在内的内部数据库。因此,当文档说“MySQL连接器为每个MySQL数据库提供一个模式”时,它指的是单个MySQL服务器中的多个“数据库”。

至于梅里尔的回答:

Qubole文档中提到的"datasources“属性是一个过去放在主etc/config.properties文件中的属性,但已经多年不需要了。它被弃用了,所以你不应该设置它,我们应该完全删除它。

票数 1
EN

Stack Overflow用户

发布于 2019-02-11 01:02:42

尝尝这个。connect-to-mysql-jdbc-sources

代码语言:javascript
复制
config.properties:
datasources=jmx,hive,mysqlcatalog
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54600423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档