2016-05-17 51 views
1

我有一个要求,我必须捕获过去几个月的user_session细节。当我查询user_sessions表时,我只有最后三天,四天的信息。无论如何,我们可以获得最近6个月的user_sessions详细信息?Vertica中的User_Sessions

谢谢 Sadagopan

回答

1

USER_SESSION是对3 DIFFRACT数据收集表顶视图,数据采集器表包括有关的许多事件和活动对Vertica的存在的信息,这个信息正在磁盘上仍然存在一些默认保留期限。 您有两个主要选项可以有6个月的会话历史视图 1.将相关DC表的保留期的设置更改为6Mounts 2.开发每隔几天运行一次的脚本或流程,并合并user_session为用户定义本地表。

对于选项#1,您需要为每个DC表运行以下API(小心使用此选项需要Vertica端存在额外的磁盘空间)。选择set_data_collector_time_policy('SessionEnds','1 day':: interval);选择set_data_collector_time_policy('SessionEnds','1 day':: interval);选择set_data_collector_time_policy('SessionEnds','1 day':: interval);选择set_data_collector_time_policy
SELECT set_data_collector_time_policy('SessionStarts','1 day':: interval);
SELECT set_data_collector_time_policy('RuntimePriorityChanges','1 day':: interval);

+0

谢谢@elirevach。我们正在做选项#2,脚本以增量方式每天更新用户表。由于一些迁移,此脚本停止运行,我们正试图获取最近几个月的详细信息。如果我们打开选项#1,这只会从今天开始生效。正确? – Sadagopan

+0

是的,只有前进 – elirevach

+0

好的,非常感谢。这非常有帮助。 – Sadagopan