0
点赞
收藏
分享

微信扫一扫

FileBeat + Flume + Kafka + HDFS + Neo4j + Flink + Redis:【案例】三度关系推荐V2.0版本02:历史粉丝关注数据初始化

慕容冲_a4b8 2022-03-19 阅读 32
hadoopflink

一、数据计算步骤汇总

下面我们通过文字梳理一下具体的数据计算步骤。
第一步:历史粉丝关注数据初始化
第二步:实时维护粉丝关注数据
第三步:每天定时更新主播等级
第四步:每天定时更新用户活跃时间
第五步:每周一计算最近一月主播视频评级
第六步:每周一计算最近一周内主播主播的三度关系列表。
第七步:三度关系列表数据导出到Redis

二、历史粉丝关注数据初始化

第一步:历史粉丝关注数据初始化
这块流程是没有变化的,使用load csv将我们之前导出的历史粉丝关注数据进行初始化即可。

1、清空原有数据

把neo4j中之前的数据清空一下,直接删除neo4j下面的data目录即可,然后启动neo4j

[root@bigdata04 neo4j-community-3.5.21]# rm -rf data/
[root@bigdata04 neo4j-community-3.5.21]# bin/neo4j start

通过浏览器访问neo4j,重新设置密码
http://bigdata04:7474/

然后我们使用neo4j的shell命令行执行下面命令。

[root@bigdata04 neo4j-community-3.5.21]# bin/cypher-shell -a bolt://bigdata04:7687 -u neo4j -p admin
Connected to Neo4j 3.5.21 at bolt://bigdata04:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j> 

2、建立索引

首先针对关键字段建立索引

neo4j> CREATE CONSTRAINT ON (user:User) ASSERT user.uid IS UNIQUE;
0 rows available after 281 ms, consumed after another 0 ms
Added 1 constraints

3、批量导入数据

然后批量导入数据

neo4j> USING PERIODIC COMMIT 1000
       LOAD CSV WITH HEADERS FROM 'file:///follower_00.log' AS line FIELDTERMINATOR '\t'
       MERGE (viewer:User { uid: toString(line.fuid)})
       MERGE (anchor:User { uid: toString(line.uid)})
       MERGE (viewer)-[:follow]->(anchor);
0 rows available after 791 ms, consumed after another 0 ms
Added 11 nodes, Created 17 relationships, Set 11 properties, Added 11 labels

4、检查数据

然后我们到页面上看一下导入的数据。

在这里插入图片描述

举报

相关推荐

0 条评论