潘金莲改变了历史吗-PostgreSQL舆情事件分析应用
《潘金莲改变了历史吗-PostgreSQL舆情事件分析应用》要点: 更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 标签 PostgreSQL,独立变乱分析,舆情分析,舆情变乱,相关变乱,行为轨迹,独立变乱的流水相关性分析,PostgreSQL服务端编程实践 配景 潘金莲改变了历史吗? 网上的段子 潘金莲撑开窗户,撑窗户滴棍子掉下去了,于是西门庆看到了,于是他们相遇了.如果潘金莲同学当时没有开窗,那么她就不会遇到西门庆. 类似蝴蝶效应,历史是很有趣的事情. 实际上在我们的生活中也有这样的现象或者需求,好比某些业务系统,会记录事件,流水账那样. 然后业务可能想知道某类事件发生后,接下来发生了什么,好比说房价调控措施出台后的事件,是不是有大量资金涌入股票市场? 说道这里,我要把PostgreSQL数据库搬出来,到底怎么实现上述需求呢? 模拟现实 1. 构建变乱输入的表结构 create table event( 2. 插入1000万变乱记录,其中5000个变乱的种类. insert into event (class,info,crt_time) select (5000*random())::int::text,'test',clock_timestamp() from generate_series(1,10000000); 3. 针对变乱种类,创建索引 create index idx_event_class on event (class); 需求 查询某个变乱发生后,若干个接下来发生的变乱 使用函数可以轻松实现这个需求 create or replace function f( 查询举例 查询变乱类别为1的变乱,它后面发生的2个变乱,输出10次分析结果. postgres=# select * from f('select id from event where class=$$1$$','1',2,10); 利用以上结果,我们就可以知道发生了变乱1之后,都发生了其他什么变乱. 至于你要拿这些结果进行接下来的分析,可以使用类似关键词的热点分析办法,或者使用PostgreSQL提供的MADlib机器学习库,又或者使用plR进行分析. 总之你肯定有办法找出事件之间的关联关系. 非独立变乱的相关性分析 因为前面分析的都是独立事件,即本身就没有相关性的,所以需要通过函数的办法来输出结果. 对于非独立事件,好比说用户逛淘宝的点鼠标的行为,在点了某个商品后,又点了哪些其他商品. 对于非独立事件,在结构设计上,就有关联字段,好比USERID,所以我们可以很方便的进行关联. 使用PostgreSQL递归调用,就可以对非独立变乱进行轨迹分析. 例子 《PostgreSQL 递归查询CASE - 树型路径分组输出》 《用PostgreSQL找回618秒逝去的青春 - 递归收敛优化》 《distinct xx和count(distinct xx)的变态递归优化办法 - 索引收敛(skip scan)扫描》 《PostgreSQL 使用递归SQL 找出数据库对象之间的依赖关系》 《PostgreSQL 递归死循环案例及解法》 《PostgreSQL 递归查询一例 - 资金累加链》 《PostgreSQL Oracle 兼容性之 - WITH 递归 ( connect by )》 《递归优化CASE - group by & distinct tuning case : use WITH RECURSIVE and min() function》 《递归优化CASE - performance tuning case :use cursortriggerrecursive replace (group by and order by) REDUCE needed blockes scan》 小结 PostgreSQL的递归语法、plpgsql编程,可以很好的满足舆情分析中变乱前后变乱的分析需求. 再利用PostgreSQL的热点词分析,聚类分析或者使用PostgreSQL提供的MADlib机器学习库,又或者使用plR进行分析.找出变乱之间的关联关系. 编程之家PHP培训学院每天发布《潘金莲改变了历史吗-PostgreSQL舆情事件分析应用》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |