Pyspark SQL作业通过读取固定宽度而不是实木复合地板而变慢

时间:2018-12-21 19:27:16

标签: apache-spark parquet

我有一个脚本,其中包含多个联接和一些其他基本操作。当我读取实木复合地板格式数据时,脚本将运行并快速写入新的实木复合地板数据。我最近更新了脚本,以接受固定宽度的数据并根据给定的规范确定列。

这使脚本速度降低了10倍。

我尝试过使用spark config和数据的不同分区,但是运行时仍然很糟糕。

1 个答案:

答案 0 :(得分:0)

Parquet和ORC是用于列式读取/写入的优化格式,因此在SparkSQL数据帧中运行良好。

纯文本CSV / TSV在设计上要慢得多,因为整个数据行都需要在处理过程中一次又一次地解析和提取。

在这里您可能没有做错任何事情。如果您总体上需要快速的处理速度,那么您将需要一个适当的数据库来优化查询,而不必处理原始文件