0
我的RDD在其中有TAB分隔的字符串。我试图对其进行过滤:如果第5列包含弦数:在pyspark中过滤
filt_data = raw_data.filter(lambda x: '' if len(x.split('\t')) < 5 else "apple" in x.split('\t')[4] or "pear" in x.split('\t')[4] or "berry" in x.split('\t')[4] or "cherry" in x.split('\t')[4])
我不认为它是非常有效的解决方案,因为我在做4个分割的同一行那里。有些人可以展示更好的做法吗?
而如果我有一个“水果”阵列。我如何过滤包含此数组元素的RDD? 可以做类似x.split('\t')[4] in array
的东西,但它只会在数组元素等于第5列项时过滤,但是我需要检查第5列是否包含数组中的任何字符串。
谢谢!它确实加快了这个过程。关于如何过滤数组内容的第二个问题的任何想法? – lacerated
如果我回答你的问题,请接受它。关于你的第二个问题,我认为这是一个好主意,应该工作。我已经更新了我的答案以反映该部分。请检查它是否适用于您。 – Yaron