【问题标题】:How can I access the data in a Cassandra Table using RCassandra如何使用 RCassandra 访问 Cassandra 表中的数据
【发布时间】:2016-07-20 03:50:06
【问题描述】:

我需要获取 Cassandra 数据库表的列中的数据。我为此使用 RCassandra。获得数据后,我需要对其进行一些文本挖掘。请建议我如何连接到 cassandra,并使用 RCassandra 将数据导入我的 R 脚本

我的脚本:

library(RCassandra)
connect.handle <- RC.connect(host="127.0.0.1", port=9160)
RC.cluster.name(connect.handle)
RC.use(connect.handle, 'mykeyspace')

sourcetable <- RC.read.table(connect.handle, "sourcetable")
print(ncol(sourcetable))
print(nrow(sourcetable))
print(sourcetable)

这会将输出打印为:

> print(ncol(sourcetable))
[1] 1
> print(nrow(sourcetable))
[1] 18
> print(sourcetable)

144 BBC News
158 IBN Live
123  Reuters
131 IBN Live

但我的 cassandra 表包含四列,但这里只显示一列。我需要将每列值分开。那么如何获取各个列的值(例如每个 feedurl)我应该在我的 R 脚本中进行哪些更改?

My cassandra table, named sourcetable

【问题讨论】:

  • 请编辑您的帖子并添加您尝试执行的 R 代码。

标签: r cassandra rc


【解决方案1】:

我已将 Cassandra 和 R 与正确的 Cran Jar 文件一起使用,但 RCassandra 更容易。 RCassandra 是 Cassandra 的直接接口,无需使用 Java。要连接到 Cassandra,您将使用 RC.connect 返回这样的连接句柄。

RC.connect(host = <xxx>, port = <xxx>)
RC.login(conn, username = "bar", password = "foo")

然后您可以使用RC.get 命令检索数据或使用RC.ReadTable 命令读取表数据。

但是,首先你应该阅读THIS

【讨论】:

  • 但是,当我使用 RC.read.table 时,我得到一个数据框作为 ncol = 1 的输出。我的 cassandra 数据库表中有 4 列,其中只显示了两列数据框作为单列。为什么会这样?此外,如果我使用 RC.get,我将获得相应表的行列表。但是我如何获得每一列的值?我在这里完全糊涂了!
【解决方案2】:

我也很困惑。表 demo.emp 有 4 行和 4 列(empid、deptid、first_name 和 last_name)。 RC.get 和 RC.read.table 都没有获取所有数据。

cqlsh:demo> select * from emp;

empid | deptid | first_name | last_name
-------+--------+------------+-----------
 1 |      1 |       John |       Doe
 1 |      2 |        Mia |     Lewis
 2 |      1 |       Jean |       Doe
 2 |      2 |      Manny |     Lewis

> RC.get.range.slices(c, "emp", limit=10)
[[1]]
key value           ts
1           1.474796e+15
2      John 1.474796e+15
3       Doe 1.474796e+15
4           1.474796e+15
5       Mia 1.474796e+15

[[2]]
 key value           ts
1           1.474796e+15
2      Jean 1.474796e+15
3       Doe 1.474796e+15
4           1.474796e+15
5     Manny 1.474796e+15

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-21
    • 2015-04-11
    • 1970-01-01
    • 2019-04-07
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    相关资源
    最近更新 更多