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