从io应用程序中删除事件

ovfsdjhp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(310)

我们使用hbase、hadoop作为通用推荐应用程序的事件存储,它在内部使用predictionio。数据变得非常大,经过深思熟虑,我们认为最好删除6个月以上的数据(添加另一台机器作为数据节点是完全不可能的)。
在浏览了多次之后,我看到的删除事件的唯一方法是查询事件服务器、获取eventid并为每个eventid调用delete request。
问题是在随机时间,事件服务器以 Internal Server Error ,因此停止删除。当我在postman中遇到相同的查询时,它有时会用事件响应,有时会用 The server was not able to produce a timely response to your request. 为了确认是否确实不存在任何事件,我签入了hbase。存在比我在查询中请求的事件更旧的事件。
查询如下: http://server:7070/events.json?accessKey=key&entityType=user&event=add_item&untilTime=2017-05-01T00:00:00.000Z&limit=2 在这种情况下,我需要帮助重新整理如何删除事件。

carvr3hs

carvr3hs1#

从您的问题中,我可以理解您最终想要删除6个月前的数据。我的建议是使用hbase ttl来清洁和自动化数据。
可以为columnfamily设置ttl。在为columnfamily设置6个月的ttl时,hbase major Compression将负责在6个月后删除这些记录。
http://hbase.apache.org/0.94/book/ttl.html

相关问题