我正在尝试使用spark读取多个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格式的压缩文件,则此操作将花费很长时间。 与未压缩文件 s 相比,使用压缩文件 s 的差异大10倍。
由于我想从所有文件中跳过多行标题,因此我无法利用spark的跳过标题选项
option("header", "true")
处理此用例的最佳方式是什么?