пропустить несколько строк заголовков при чтении нескольких CSV-файлов в спарк - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь прочитать несколько CSV-файлов с помощью искры. Мне нужно пропустить более одной строки заголовка из каждого файла CSV . Я могу добиться этого с помощью приведенного ниже кода.

            rdd = df.rdd
            schema = df.schema
            rdd_without_header = rdd.zipWithIndex().filter(lambda (row, index): index > skip_header).keys()
            df = spark_session.createDataFrame(rdd_without_header, schema=schema)

Этот код работает нормально, но если у меня несколько сжатых файлов формата gz, эта операция занимает очень очень много времени для завершения. Разница в 10 раз при использовании сжатого файла s по сравнению с несжатым файлом s .

Поскольку я хочу пропустить несколько строк заголовка из всех файлы, я не могу использовать опцию пропустить заголовок spark

option("header", "true")

Какой должен быть лучший и оптимизированный способ обработки этого варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...