Используйте срез, как показано ниже:
with open('yourfile.txt') as f:
lines_after_17 = f.readlines()[17:]
Если файл слишком большой для загрузки в память:
with open('yourfile.txt') as f:
for _ in range(17):
next(f)
for line in f:
# do stuff
Вы, вероятно, хотите использовать collect_set()
вместо collect_list()
. Это автоматически удалит дубликаты во время сбора.
Я не уверен, почему вы хотите превратить массив уникальных строк в список через запятую. Spark может легко обрабатывать столбцы массива, и они отображаются так, что каждый элемент можно увидеть. Тем не менее, если вам абсолютно необходимо преобразовать массив в строку, разделенную запятой, используйте array_join
в Spark 2.4+ или UDF в более ранних версиях Spark.