Java 代码中是否有一些关于 calcite cassandra 适配器的示例?方解石网站上只有一个 sqlline 示例。非常感谢
最佳答案
下面是一些通过 Avatica/JDBC 使用 SQL 通过 Calcite 查询 Cassandra 的基本代码:
try (Connection connection = DriverManager.getConnection("jdbc:calcite:model=model.json");
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("select * from \"test_collection\"")) {
while (rs.next()) {
[...]
}
}
其中 model.json
与 documentation 中的示例一致.
如果您需要使用更高级的功能(如查询计划推理),您必须以这种方式注册您的模式:
SchemaPlus rootSchema = calciteConnection.getRootSchema();
rootSchema.add("CASSANDRA",
new CassandraSchema("targethostname", "mykeyspace", rootSchema, "CASSANDRA"));
请注意,CassandraSchema
中提供的信息必须与 model.json
中的信息相匹配。您的查询将需要引用架构名称。所以上面的查询必须这样写:
"select * from \"cassandra\".\"test_collection\""
关于apache-calcite - 如何在应用程序中使用方解石 Cassandra 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974456/