Apache Drill |从REST API获取表列表

时间:2017-10-13 04:26:23

标签: apache-drill

任何人都可以通过Drill REST API解释如何获取表列表 我试过了show database - > use mysql.db - > show table list
能够获取数据库列表但无法从相应的数据库中获取表列表。

提前致谢。

从评论中编辑

首先是我的JSON请求:

{ "queryType" : "SQL", "query" : "USE MYSQL.dbtest" } 

我得到了默认架构结果,然后我发送了

{ "queryType" : "SQL", "query" : "SHOW TABLES" } 

然后我得到了这样的例外

org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: No default schema selected. Select a schema using 'USE schema' command [Error Id: e4e2d2f4-6f08-4ef9-9be3-ba3bbe2d20d9 on spark-slave:31010]

1 个答案:

答案 0 :(得分:0)

很难提供很少的信息。由于您没有提供有关您的JSON请求字符串的信息,我必须假设。

首先,https://drill.apache.org/docs/rest-api/#query表示您可以向Drill发送查询。这可能就是您所使用的。

其次,没有命令show table list。即使直接在Drill中,这也不行。正确的命令也可以在https://drill.apache.org/docs/show-tables/下的文档中找到SHOW TABLES;

如果您需要任何进一步的帮助,请添加更多信息。

编辑

Drill似乎并没有记住"你的USE命令。也许正在开启一个新会议。为避免需要使用USE,您可以尝试在SHOW语句中包含数据库标识符。

{ "queryType" : "SQL", "query" : "SHOW MYSQL.dbtest.TABLES" } 
但是,我不确定这是否可行。应该使用SELECT语句:

{ "queryType" : "SQL", "query" : "SELECT * FROM MYSQL.dbtest.<a_table_name>" }