【问题标题】:How to calculate frequency in cassandra如何计算cassandra中的频率
【发布时间】:2018-10-16 23:00:42
【问题描述】:

我有一个包含数百万行的 Cassandra 表,如下所示。

分区列:owner_id 和日期

集群列:video_id,session_id

 owner_id | date       | video_id | session_id                           | viewer_id
---------+------------+----------+--------------------------------------+--------------------------------------
  601590 | 2018-09-24 |   606816 | 0769ce70-bfc4-11e8-b753-a3c9ebf616e5 | c19ac510-9a35-11e8-9b4f-d79b67cf2efe
  601590 | 2018-09-24 |   606816 | 0af06b70-c038-11e8-ba96-ef1af2a222e5 | 0dfdc7f0-c037-11e8-bb05-8d4b0b9097e8
  601590 | 2018-09-24 |   606816 | 0bb97020-bfdd-11e8-bf24-dff4b25dd64e | ab4a1730-bfdc-11e8-8026-ddbc4c7d64f2
  601590 | 2018-09-24 |   606816 | 0dfdc7f0-c037-11e8-bb05-8d4b0b9097e8 | 0dfdc7f0-c037-11e8-bb05-8d4b0b9097e8
  601590 | 2018-09-24 |   606816 | 155dc510-bfdb-11e8-bace-516ebe0ca984 | 778f35d0-bfda-11e8-8a1e-1f00dd90d859
  601590 | 2018-09-24 |   606816 | 25378a20-bfdb-11e8-a28b-7de4597a9df5 | 778f35d0-bfda-11e8-8a1e-1f00dd90d859
  601590 | 2018-09-24 |   606816 | 2fc21170-bfba-11e8-9929-d17143803579 | 2fc21170-bfba-11e8-9929-d17143803579
  601590 | 2018-09-24 |   606816 | 3c287eb0-bfdb-11e8-b0ef-6d0d9c68d2f9 | 778f35d0-bfda-11e8-8a1e-1f00dd90d859
  601590 | 2018-09-24 |   606816 | 4265f5c0-c038-11e8-b060-552d6bdcb552 | 0dfdc7f0-c037-11e8-bb05-8d4b0b9097e8
  601590 | 2018-09-24 |   606816 | 49aa9820-bfdb-11e8-bb57-4f24d17d68df | 778f35d0-bfda-11e8-8a1e-1f00dd90d859

我想根据viewer_id给定owner_id, date and video_id计算重复观看频率

例如观看者观看视频的次数:观看者 778f35d0-bfda-11e8-8a1e-1f00dd90d859 观看了 4 次。

输出应该如下所示

Number of views | frequency
----------------|-----------
        1       |     3
        3       |     1
        4       |     1

接下来是在没有指定日期的情况下查找频率。

【问题讨论】:

    标签: cassandra data-modeling


    【解决方案1】:

    您可以创建一个 spark 作业(或某种批处理)来生成一个表格,提供通过定期运行保持最新的信息,或者您可以创建一个 UDA 来生成它。

    我认为,由于您使用分区键和集群的第一部分很好地缩小了范围,您可以使用 UDA 并根据请求生成它(比 spark 作业更昂贵但更实时)。这是假设 ((ownere_id, date), video_id) 不会有数万个条目。如果使用 spark 或一些批量处理机制会更好。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2017-08-11
      • 2015-06-06
      • 2015-04-04
      相关资源
      最近更新 更多