Spark-将损坏的记录转换回json对象

时间:2019-07-14 18:51:40

标签: apache-spark dataframe apache-spark-sql

我正在处理JSON文件的错误记录。我可以将不良记录分为不同的列。但是,问题在于它的日期类型为string。是否可以将其转换为JSON进行进一步处理?

代码

val df = spark.read
        .option("mode", "permissive")
        .option("columnNameOfCorruptRecord", "SMSCorrupt")
        .json("/mnt/aaa/log*")
        .select($"SMSCorrupt", $"SMS")

架构

root
 |-- SMSCorrupt: string (nullable = true)
 |-- SMS: struct (nullable = true)
 |    |-- Address: string (nullable = true)
 |    |-- Type: string (nullable = true)
 |    |-- body: string (nullable = true)
 |    |-- date: string (nullable = true)
 |    |-- metadata: struct (nullable = true)
 |    |    |-- name: string (nullable = true)
 |    |-- type: string (nullable = true)

要进一步处理此记录并纠正错误,我需要将SMSCorrupt转换回与SMS相同的json对象。

我应该怎么做?

0 个答案:

没有答案