Сбор уникальных элементов во время агрегации Spark

Используйте срез, как показано ниже:

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
0
задан Sim 17 March 2019 в 22:04
поделиться

1 ответ

Вы, вероятно, хотите использовать collect_set() вместо collect_list(). Это автоматически удалит дубликаты во время сбора.

Я не уверен, почему вы хотите превратить массив уникальных строк в список через запятую. Spark может легко обрабатывать столбцы массива, и они отображаются так, что каждый элемент можно увидеть. Тем не менее, если вам абсолютно необходимо преобразовать массив в строку, разделенную запятой, используйте array_join в Spark 2.4+ или UDF в более ранних версиях Spark.

0
ответ дан Sim 17 March 2019 в 22:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: