【发布时间】:2014-11-21 18:05:38
【问题描述】:
我在 cassandra 中有一个非常大的表,其中包含 (caseid,timestamp,activity) 作为以 caseid 和时间戳作为主键的列。caseid 的值正在重复,我想提取对应的第一个活动值到 caseid 并将其放入仅包含活动的另一个表(名为 initialActivity)。有人可以帮助我了解如何使用 cql 查询来实现这一点。谢谢。
【问题讨论】:
-
您对此有任何现有的查询吗?你试过了吗?
-
@Rahul: 是的,最初我试图使用 Java 程序来做事,我提取了所有 caseid,然后对于每个 caseid,我从 caseid=" 的表中运行查询选择活动111" 限制 1;并将其收集到一个 String 对象中,然后 INSERT INTO initialActivity(activity text) values ("");但是现在我不想使用JAVA,只想在cql中做。谢谢。
-
请尝试以下查询并告诉我。插入到 initialActivity(activity) SELECT activity FROM preActivity where caseId = 111 LIMIT 1
-
您不能仅通过 cql 执行此操作,请参阅此 q/a:stackoverflow.com/questions/14633624/…
-
对于这样的批处理请求,您很可能希望使用 Hadoop 或 Spark 等批处理分析框架。