回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我已经成功地在pyspark中预处理了我的数据,得到了这样的结果</p>
<pre><code>[(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key3', u'2'), (u'key4', u'1'), (u'key1', u'4'), (u'key5', u'1'), (u'key6', u'2'), (u'key7', u'4'), (u'key8', u'5'), (u'key9', u'6'), (u'key10', u'7')]
</code></pre>
<p>现在我需要根据这些条件进行筛选:</p>
<p>1)筛选与至少2个键关联的值。</p>
<p>输出-只有那些值为“1”、“2”和“4”的(k,v)对才应该出现,因为它们与2个以上的键关联</p>
<pre><code> [(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key3', u'2'), (u'key4', u'1'), (u'key1', u'4'), (u'key5', u'1'), (u'key6', u'2'), (u'key2', u'4')]
</code></pre>
<p>2)筛选与至少2个值关联的键</p>
<p>输出-只有那些(k,v)对具有key1,key2作为键,因为它们与至少2个值关联</p>
<pre><code>[(u'key1', u'1'), (u'key2', u'1'), (u'key1', u'2'), (u'key1', u'4'), (u'key2', u'4')]
</code></pre>
<p>任何建议都会有很大帮助。</p>
<p>更新:我使用groupBy和一个过滤器对具有多个值的键进行分组</p>
<pre><code> [(u'key1', [u'1', u'2', u'4']), (u'key2',[u'1', u'4'])]
</code></pre>
<p>现在如何将这个(键,列表(值))拆分为单独的(k,v)对以应用进一步的转换?</p>