Spark-执行大文件读取会导致数据集倍增

时间:2018-12-07 17:26:45

标签: apache-spark pyspark

我当前正在运行一个脚本,该脚本对相当大的管道定界文件(〜870,000条28列记录)执行非常简单的读取。以下代码供参考:

readFile = spark.read.option("delimiter", inputFileDemiliter).csv(inputPath, mode = readMode, \
                    header=True, inferSchema=False,schema = schema)

问题是,如果我对数据帧readFile进行简单计数,则我得到的记录计数约为1400万(准确地说,它是初始记录计数的16.59倍)。

我想它与复制有关。我们可以在主键列上执行dedup,但是我们不应该首先解决此问题,因此请避免这种情况。

有人知道如何防止这种情况发生吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

事实证明,此问题是由于HDFS目录中的加密服务处于活动状态所致。加密会破坏文件中定界符的数量,从而使记录数变少。