【问题标题】:Find most frequent value in GAE Datastore column在 GAE 数据存储列中查找最常见的值
【发布时间】:2015-04-03 01:42:50
【问题描述】:

我在谷歌应用引擎数据存储中有一个表格ItemData,列如下。

-------------------------------
| letter | f_no | s_no | t_no |
-------------------------------
|  A     |  2   |  3   |  0   |
|  X     |  5   |  8   |  5   |
|  C     |  4   |  6   |  5   |
|  T     |  2   |  3   |  6   |
|  A     |  2   |  4   |  0   |
|  A     |  6   |  3   |  0   |
|  C     |  2   |  2   |  9   |
-------------------------------

我需要在每列中找到最常见的值。

我如何使用GQL 来实现这一点?

【问题讨论】:

    标签: java google-app-engine google-cloud-datastore gql


    【解决方案1】:

    没有单一的查询可以做到这一点。没有与 MySQL-ism select count(distinct column_id) from table 等效的数据存储。

    考虑到一张大表和许多不同的不同值,这实际上可能是一个非常复杂的问题。天真的方法是简单地获取所有实体并在您的代码中进行计数,但如果您的表中有很多实体,这最终会超过查询截止日期。

    一般来说,当涉及到数据存储查询问题时,如果查询看起来很难实现并且看起来无法扩展,并且您需要能够相对频繁地执行它,那么您很可能应该正在准备信息通过使用某种加速结构或计数器收集插入。如果你不需要经常执行它,MapReduce 可能是答案。

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2012-08-27
      • 1970-01-01
      • 2017-04-21
      • 2017-06-07
      • 1970-01-01
      • 2021-03-07
      • 2014-08-04
      相关资源
      最近更新 更多