При чтении в огромном текстовом файле с разделителями я хотел бы выдать ошибку, если какая-либо из записей искажена. Databricks поддерживает это с опцией FAILFAST
.
val raw = spark.sqlContext.read.format("com.databricks.spark.csv").
option("header","true").
option("inferSchema","false").
option("delimiter","|").
option("mode","FAILFAST").
load("/path/to/huge/file")
В зависимости от размера файла, выполняемой вами обработки и т. Д., Может произойти сбой, если неправильно сформированные строки находятся в файле достаточно далеко.
Каким было бы самое быстрое преобразование или что-то еще, что просто заставило бы спарк прочитать весь файл? Я надеялся, что установка true для inferSchema сделает это, потому что у меня было тогда впечатление, что это вызывает еще один проход через данные, но не сработало.