pyspark:spark.read.format(“ csv”)与spark.read.csv的性能差异

时间:2019-07-05 02:03:08

标签: csv pyspark

任何人都知道spark.read.format(“ csv”)与spark.read.csv有什么区别?

有人说“ spark.read.csv”是“ spark.read.format(“ csv”)”的别名,但是我看到了两者之间的区别。我做了一个实验,用新的pyspark执行下面的每个命令会话,因此没有缓存。

DF1花了42秒,而DF2只花了10秒。 csv文件超过60 GB。

final int po = shuffled[i];

之所以要研究这个问题,是因为我需要在过滤后在2个数据帧上执行并集操作,然后再写回hdfs,这花费了超长的写入时间(16小时后仍在写入...。)

1 个答案:

答案 0 :(得分:1)

当您调用其中之一时,它们基本上是完全相同的。但是在您的实现中有所不同

使用DF1,您添加了 inferSchema 选项,它将减慢该过程,这说明了DF1比第二个花费更多时间的原因

inferSchema:自动推断列类型。它需要对数据进行一次额外的传递,默认情况下为false, Detail document