我有一个蜂巢表activity
有柱子userid
, itemid
, and rating
,可能的评级为 1 和 0,其中正面评级 (1) 多于负面评级 (0)。我需要提取一个正面和负面评级数量大致相等的样本。我需要这个样本尽可能大,因此想要对所有负面评级行进行抽样,再加上相同数量的正面评级行,进行抽样randomly.
例如,假设表中共有 100k 行,其中 rating=1 的行数为 75k, rating=0 的行数为 25k。返回评级=0 的所有25k 行和评级=1 的25k 随机采样行的最有效查询(或多个查询)是什么?实际的表要大得多,因此速度在这里很重要。
正如这里所建议的(http://www.joefkelley.com/736/),rand() 只会在单个减速器上进行随机化。如果您的数据集中存在数据偏差(例如,如果您不按随机化的密钥进行分发),您可能会看到偏差的结果。
首先确保您使用的是 DISTRIBUTE BY 您的密钥,然后使用 rand() 和 limit 返回 N 个值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)