我需要获取表Cassandra Database的列中的数据。为此,我使用了RCassandra。在获得数据之后,我需要对其进行一些文本挖掘。请建议我如何连接到cassandra,并使用RCassandra将数据放入我的R脚本
我的RScript:
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表包含4列,但这里只显示了1列。我需要将每一列的值分开。那么,如何获取单独的列值(Eg.each提要the ),我应该在R脚本中进行哪些更改?
发布于 2016-03-31 16:54:39
我已经将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
发布于 2016-10-14 04:24:26
我也很困惑。表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
https://stackoverflow.com/questions/36337686
复制