首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wso2bam中接收事件后存档或删除cassandra数据

如何在wso2bam中接收事件后存档或删除cassandra数据
EN

Stack Overflow用户
提问于 2013-11-13 11:51:53
回答 2查看 1.8K关注 0票数 0

我在2.3.0版本中使用WSO2BAM,其中定义了一个流,其中保存了Cassandra数据源中的大量数据。目前,我的Hive脚本处理来自键空间的所有事件,其中99%的数据是不相关的。它也需要磁盘空间。

我的想法是在没有必要的情况下清除这些数据。

流的格式是:{"streamId":"kroki_i_kolejki_zlecen:1.0.0“、”kroki_i_kolejki_zlecen“、”kroki_i_kolejki_zlecen“、"version":"1.0.0”、"nickName":"Kroki I kolejki zlecen“、"description":"Wyniki i daty zamkniecia zlecen”、"payloadData":{"name":"casenum“、”type“、”STRING“}、{"name":"type_id”、“type”、“STRING”}{“名称”:“id_zlecenie”、“类型”:“STRING”}、{“名称”:“sid”、“type”:“step_name”}、{"name":"step_name“、”step_name“}、{"name":"proc_name”、“STRING”}、{"name":"step_desc“、"type":"STRING"}、{"name":"audit_date”、"type":"STRING"}。{“名称”:“audit_usecs”,“类型”:“字符串”},{“名称”:“user_name”,“类型”:“STRING”}}

我的意图是在收到具有特定payload_id_zlecenie的事件后,使用相同的列payload_type_id删除数据。在关系数据库中,它等于查询:

代码语言:javascript
复制
delete from kroki_i_kolejki_zlecen where payload_id_zlecenie = [argument];

做得到吗?

EN

回答 2

Stack Overflow用户

发布于 2013-12-03 14:48:38

据我所知,在蜂巢里,你不能删除卡桑德拉的数据。Inosh给出的1链接描述了如何将卡桑德拉记录存档的时间比特定时间长。(例如,超过3个月的记录)所有存档的数据将存储在一个列族中,后缀为"_arch“。在这个特性中,在生成的Hive脚本中使用一个自定义分析器来删除Cassandra行。还请注意,被删除的记录需要大约10天的时间才能用它的行键完全删除整个行。在此之前,您将看到一些与Cassandra行ID相关联的空字段。

Inosh的2是解决问题的真正方法。一旦启用了增量处理,hive脚本将只处理前一个单元脚本执行中未处理的Cassandra行。这意味着,Hive将聚合在每次执行中处理的值,并将它们保存在将来。下一次,hive将使用该值,并在上次处理该时间戳之后处理所有记录。新的聚合值和旧的聚合值将用于获得总体值。

1- http://docs.wso2.org/display/BAM240/Archive+Cassandra+Data

2- http://docs.wso2.org/pages/viewpage.action?pageId=32345660

票数 2
EN

Stack Overflow用户

发布于 2013-12-02 12:08:27

您可以使用Cassandra数据存档功能1来存档cassandra数据。

还请参阅增量分析2,这是BAM 2.4.0发布的一个新特性。使用该特性,可以对接收到的数据进行增量分析,而无需处理CFs中的所有事件。

1- http://docs.wso2.org/display/BAM240/Archive+Cassandra+Data

2- http://docs.wso2.org/pages/viewpage.action?pageId=32345660

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19953075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档