scala - 在scala spark中的滚动窗口上计算共现矩阵的最佳方法
问题描述
我有一个非常大的数据集,其中包含“user_id”、“event_id”和“event_date”。
scala spark中最有效的方法是计算事件的共现矩阵,只有在特定客户的n天窗口内才计算共现?
用户身份 | event_id | 日期 |
---|---|---|
1 | 100 | 2000 年 1 月 1 日 |
1 | 101 | 05/01/2000 |
1 | 102 | 14/05/2021 |
1 | 103 | 2021 年 5 月 20 日 |
2 | 100 | 04/06/2001 |
2 | 101 | 2001 年 10 月 6 日 |
2 | 102 | 13/08/2021 |
2 | 103 | 2021 年 8 月 30 日 |
因此,如果我们考虑 15 天的窗口,对于每个用户,我们会获得以下共现:
用户身份 | event_id_1 | event_id_2 |
---|---|---|
1 | 100 | 101 |
1 | 102 | 103 |
2 | 100 | 101 |
因此,最后共现的总数:
event_id_1 | event_id_2 | 数数 |
---|---|---|
100 | 101 | 2 |
102 | 103 | 1 |
这就是我需要在 Scala Spark 中运行的过程。有什么建议吗?提前谢谢了
解决方案
推荐阅读
- android - 从graphql客户端连接到全局服务器的问题本机反应
- python - Python:即使它肯定存在,也不会在列表中找到字符串
- python - 当我使用 YOLACT 运行 train.py 时,我收到错误 KeyError: 0
- python - 按值对大字典进行排序
- ios - ARSCNView 中 arView.scene.addAnchor() 的等价物是什么?
- html - 如何使用多个音频标签
- next.js - 如何在 nextjs 中检查每个请求的 cookie?
- php - 无法理解 php 中对象和数组的逻辑
- json - 我正在尝试将亚马逊交易作为 Acumatica 销售订单导入,但遇到 500 错误
- python - 在 Python 中创建登录系统