如何从Scala Spark DataFrameReader csv记录格式错误的行

tes*_*ter 5 csv logging scala apache-spark

Scala_Spark_DataFrameReader_csv的文档表明spark可以记录在读取.csv文件时检测到的格式错误的行.
- 如何记录格式错误的行?
- 可以获得包含格式错误行的val或var吗?

链接文档中的选项是:maxMalformedLogPerPartition(默认值为10):设置Spark将为每个分区记录的格式错误行的最大数量.超出此数字的格式错误的记录将被忽略

Yor*_*iev 0

如果您使用的是spark 2.3,请检查 _corrupt_error 特殊列...根据几个spark讨论“它应该有效”,因此在读取过滤器后那些非空列 - 应该有您的错误...您也可以检查input_file_name() sql 函数

如果您使用的版本不低于 2.3,您应该实现自定义读取、记录解决方案,因为根据我的测试,_corrupt_error 不适用于 csv 数据源...