簡體   English   中英

如何使用RCassandra訪問Cassandra表中的數據

[英]How can I access the data in a Cassandra Table using RCassandra

我需要在表Cassandra數據庫的列中獲取數據。 我為此使用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表包含四列,但此處僅顯示1列。 我需要將每個列的值分開。 那么,如何獲取各個列的值(例如每個feedurl),我應該在R腳本中進行哪些更改?

我的cassandra表,名為sourcetable

我已經將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命令讀取表數據。

但是,首先你應該閱讀這個

我也很困惑。 表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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM