【问题标题】:How to save to Cassandra from java?如何从java保存到Cassandra?
【发布时间】:2018-10-29 21:41:08
【问题描述】:

我是 Cassandra 的新手,我正在开发一个使用 Cassandra 作为 DB 的项目。 Cassandra 安装在另一台设备上,我必须将它远程保存到数据库中。

我对 Cassandra 及其功能知之甚少,但我擅长 MySQL。

将消息保存到 Cassandra 的步骤是什么? 我可以使用与 MySQL 相同的数据库吗?

我相信我必须连接到 Cassandra 服务器然后保存它。

Cluster cluster = Cluster.builder().addContactPoint("localhost").withPort(3306).build();

我已使用此语句连接到 Cassandra。 (将localhost替换为设备的ip)

【问题讨论】:

标签: java cassandra


【解决方案1】:

您最好从java driver docs 开始。如果您使用 maven,它很容易设置,但我经常发现示例并不总是提供完整的 pom.xml,因此您可以在 github 项目中使用一些 examples

quick start guide 给出了一个非常简单的例子:

Cluster cluster = null;
try {
    cluster = Cluster.builder()   
            .addContactPoint("127.0.0.1")
            .build();
    Session session = cluster.connect();   
    ResultSet rs = session.execute("select release_version from system.local");
    Row row = rs.one();
    System.out.println(row.getString("release_version"));
} finally {
    if (cluster != null) cluster.close();
}

其他一些感兴趣的项目是connection poolingload balancing

【讨论】:

  • 这个方法我已经试过了。我仍然无法将任何实体保存到数据库中。
  • 上面的方法是一个sn-p从文档中连接,然后读取一个值。也许您可以使用有关如何尝试保存的更多详细信息来更新原始问题,因为您的示例仅显示了连接实例
【解决方案2】:

使用创建的集群和键空间创建会话:

Session session = cluster.connect("keyspace");

如果您没有密钥空间,请创建密钥空间。

然后使用

session.execute(query);

执行您选择的任何查询。

查询必须是字符串,不能为空。

例如:

    String query= "INSERT INTO keyspace.table_name (id, lastname, firstname) VALUES (6ab09bec-e68e-48d9-a5f8-97e6fb4c9b47, 'KRUIKSWIJK','Steven');";
    session.execute(query);

【讨论】:

    猜你喜欢
    • 2016-05-02
    • 2016-08-05
    • 2018-09-06
    • 2016-01-30
    • 1970-01-01
    • 2021-05-23
    • 2020-08-24
    • 2016-05-27
    • 2017-04-10
    相关资源
    最近更新 更多