Я не уверен на 100% в вашем вопросе, но, думаю, у вас есть вложенный список в качестве СДР и вы хотите пересечь его со статическим списком B. Затем каждый элемент во вложенных списках должен быть проверен на наличие в B иесли он существует, он должен остаться.
Если порядок элементов не имеет значения, вы можете использовать следующий код:
A = [["a","b","c","d"],["e","f","g","h"],["i","j","k","l"],["a","b","x","f","y"]]
B = ["a","b","c","d","e","f","g","h"]
text_words = sc.parallelize(A)
text_words.map(lambda x: list(set(x) & set(B))).collect()
Выход:
[['a', 'c', 'b', 'd'], ['h', 'e', 'g', 'f'], [], ['a', 'b', 'f']]