在sparkscale中读取一个巨大文件时数据丢失


val data = spark.read
.text(filepath)
.toDF("val")
.withColumn("id", monotonically_increasing_id())
val count = data.count()

当我阅读一个包含50k行以上的文件时,此代码运行良好。。但是当一个文件的行数超过这个数时,这段代码就会开始丢失数据。当这段代码读取一个有100万行以上的文件时,最终的数据帧计数只给出65k行以上的数据。我不明白这段代码中的问题发生在哪里,也不明白需要对这段代码进行什么更改,以便它能够接收最终数据帧中的每一个数据。p.s-该代码将摄取的最高文件,有近1400多万行,目前该代码只摄取其中的200万行。

似乎与如何将行ID的持久列添加到Spark DataFrame有关?

即避免使用CCD_ 1并且遵循来自该线程的一些建议。

最新更新