3

java代码中有一些关于方解石cassandra适配器的例子吗?方解石网站上只有一个 sqlline 示例。非常感谢

4

1 回答 1

0

下面是一些通过 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中的示例在哪里。

如果您需要使用更高级的功能(例如查询计划的推理),则必须以这种方式注册您的模式:

SchemaPlus rootSchema = calciteConnection.getRootSchema();
rootSchema.add("CASSANDRA",
               new CassandraSchema("targethostname", "mykeyspace", rootSchema, "CASSANDRA"));

请注意,中提供的信息CassandraSchema必须与 中提供的信息相匹配model.json。您的查询将需要引用架构名称。所以上面的查询必须这样写:

"select * from \"cassandra\".\"test_collection\""
于 2019-10-29T18:03:19.790 回答