假设数字的列表/数组存在于一个非常庞大的数据文件中,我们需要找到与特定数字“k”匹配的一对和。我知道如何解决它通常使用数据结构,但我无法想到一种方法来解决它利用hadoopmr或Spark特别。
假设一个文件有1,2,3,6,7,7,8,9我的思考过程:-将数据考虑到一个Dataframe中,然后再向其中添加一个列来标识差异,即如果i<=k/2,则k-i else i。现在,我对上述数据的Dataframe如下所示:
号码号码21928377778899
一旦创建了df,我就计划根据数字2用key聚合数据。但我无法假设聚合逻辑。任何帮助都将不胜感激。
1条答案
按热度按时间pgccezyw1#
假设您有一个名为
numbers.txt
如下所示:你可以这样实现你的目标:
或者,如果数据很小,您可以使用spark中的笛卡尔积实现您的目标,如下所示:
结果如下: