Java Spark行级错误处理,如何获取行级错误消息

Java Spark行级错误处理,如何获取行级错误消息,java,apache-spark,Java,Apache Spark,我有一个csv文件,我正在通过spark加载。我想区分好记录和坏记录,还想知道坏记录的每一行级别错误 我正在指定一个模式,可以像这样捕获损坏的_记录,但是如何获取每个不同损坏记录的错误消息 --------------+-----------+----------+--------------------+-------+--------------------+ |service_point_number|energy_type|is_enabled| metadat

我有一个csv文件,我正在通过spark加载。我想区分好记录和坏记录,还想知道坏记录的每一行级别错误

我正在指定一个模式,可以像这样捕获损坏的_记录,但是如何获取每个不同损坏记录的错误消息

  --------------+-----------+----------+--------------------+-------+--------------------+
|service_point_number|energy_type|is_enabled|            metadata|testint|     _corrupt_record|
+--------------------+-----------+----------+--------------------+-------+--------------------+
|            90453512|          E|     false|Address1@420#Addr...|     23|                null|
|            14802348|          G|     false|Address1@420#Addr...|     24|                null|
|                null|       null|      null|                null|   null|99944990,E,12,Add...|
|            78377144|          E|     false|                 123|     26|                null|
|            25506816|          G|     false|Address1@420#Addr...|     27|                null|
|            48789905|          E|      true|Address1@420#Addr...|   null|48789905,E,true,A...|
|            20283032|          E|     false|Address1@420#Addr...|     29|                null|
|            67311231|          G|     false|Address1@420#Addr...|     30|                null|
|            18240558|          G|     false|Address1@420#Addr...|     31|18240558,G,false,...|
|            42631153|          E|     false|Address1@420#Addr...|     32|                null|
+--------------------+-----------+----------+--------------------+-------+--------------------+

spark from 2.x中集成的spark csv软件包提供


请参见位于

的CSV示例,该示例可以工作,但您无法在指定路径中找到它的原因可能是,在触发操作之前,实际执行不会启动。在您的代码
spark之后尝试使用
df.show()
。读取…
,然后再次查看输出文件现在是否显示在路径中。

已经尝试过此操作,但找不到任何在HDFS中写入坏记录的文件。我使用的是spark版本2.3.1。我使用的是spark版本2.3.1
val df=spark.read.format(“cs”).option(“header”,“true”).option(“badRecordsPath”,““/sampledata/test”).schema(schema).csv(“/sampledata/test.csv”)
I尝试在HDFS@georgDid中查找/sampledata/test您尝试在Databricks或开源spark中运行它吗?可能只有在那里才有此功能。但我不是100%确定。我在EMR中使用spark,在那里看不到可用的badRecordsPath选项。
badRecordsPath