我使用的是Presto 0.216版,我想在一个目录文件中连接多个数据库。我正在使用Apache SuperSet通过presto运行查询,这迫使我进入一个名为hive.properties的目录。
我在AWS的Ubuntu实例上运行Presto。我可以访问所有数据库,并在多个目录文件(one.properties,hive.properties等)中定义的多个数据库上运行“联接”查询。但是,如上所述,这不是超集与presto集成的方式。
在presto文档中,它说我可以运行一个通过连接器名称here对数据库进行分组的命令。
SHOW SCHEMAS FROM mysql
但是由于错误而失败:
Catalog mysql does not exist
我知道我没有名为mysql.properties的目录,但是我所有的目录都有:
connector.name=mysql
所以我相信这应该可行。我只想通过Presto从Apache SuperSet查询多个数据库。 不幸的是,我不能只添加多个,或者;到我的目录变量的单独连接URL:
connection-url=jdbc:mysql://myurl:3306/
答案 0 :(得分:0)
尝试一下。 connect-to-mysql-jdbc-sources
config.properties:
datasources=jmx,hive,mysqlcatalog
答案 1 :(得分:0)
您只能将超集配置为指向Presto中的某个(一个)目录。当前没有其他方法可以配置Superset。 但是,您仍然可以发出查询(使用SQL Lab功能进行测试),以连接多个目录中的数据,就像通常通过Presto CLI一样:
select ..from catalog1.schema.table_name join catalog2.schema.table_name on ...
(您无法通过这种方式获得的Superset会向您显示表列表等)
MySQL令人困惑,因为它们使用术语“数据库”来表示“模式”。一台MySQL服务器具有一个或多个用户数据库,以及包括“ mysql”在内的内部数据库。因此,当文档中显示“ MySQL连接器为每个MySQL数据库提供一个架构”时,它是指单个MySQL服务器中的多个“数据库”。
关于梅里尔的回答:
Qubole文档中提到的“ datasources”属性是一个用于添加到主etc / config.properties文件中的属性,但多年来一直不需要。它已弃用,因此您不应设置它,而应将其完全删除。