任何人都可以通过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]
答案 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>" }