我想为MongoDB
in添加存储插件apache-drill
。阅读文档后,我开始知道以编程方式我可以通过两种方式做到这一点:
- 休息 API
- 使用 bootstrap-storage-plugins.json 进行配置
我正在为我的java代码使用第二种方式。
我的代码的有用部分:
Connection conn = new Driver().connect("jdbc:drill:zk=local",null);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("show databases");
while (rs.next())
{
String SCHEMA_NAME = rs.getString("SCHEMA_NAME");
System.out.println(SCHEMA_NAME);
}
引导存储插件.json:
{
"type": "mongo",
"connection": "mongodb://localhost:27017/",
"enabled": true
}
但在射击
"select * from mongo.testDB.`testCollection`";
我得到以下异常:
org.apache.calcite.sql.validate.SqlValidatorException 严重:org.apache.calcite.sql.validate.SqlValidatorException:找不到表'mongo.testDB.testCollection' 2015 年 8 月 12 日凌晨 3:47:05 org.apache.calcite .runtime.CalciteException 严重:org.apache.calcite.runtime.CalciteContextException:从第 1 行第 15 列到第 1 行第 19 列:找不到表 'mongo.testDB.testCollection' java.sql.SQLException:解析错误:从行1,第 15 列到第 1 行,第 19 列:找不到表 'mongo.testDB.testCollection'
bootstrap-storage-plugins.json
在我的类路径中。我需要提供其他信息吗?
编辑:
我尝试show databases
了查询,但它没有显示来自MongoDB
. 它只显示:
INFORMATION_SCHEMA
cp.default
dfs.default
dfs.root
dfs.tmp
sys