我正在使用数据帧写入方法以实木复合格式写入文件。作业失败,出现java.lang.illegalArgumentException
,但堆栈跟踪未显示导致此故障的确切记录或字段。调试火花作业特定记录/列
有没有办法将这种信息添加到日志(哪些数据无法转换为日期?),而不必(a)猜测或(b)将数据加载为字符串,然后编写脚本看看他们哪一个不是约会?
我正在使用数据帧写入方法以实木复合格式写入文件。作业失败,出现java.lang.illegalArgumentException
,但堆栈跟踪未显示导致此故障的确切记录或字段。调试火花作业特定记录/列
有没有办法将这种信息添加到日志(哪些数据无法转换为日期?),而不必(a)猜测或(b)将数据加载为字符串,然后编写脚本看看他们哪一个不是约会?
简短回答:不,Spark [当前]不支持这种粒度级别的调试。
但是,您可能可以使用其中的一些想法。
1)input_file_name()可以证明,用于建立数据
2)自定义UDF到的try/catch改造确切的文件,记录问题结果
3)手动过滤掉无法解析记录
4)使用模式选项(许可等)
从星火峰会东2017年潜在的相关谈话:https://spark-summit.org/east-2017/events/keeping-spark-on-track-productionizing-spark-for-etl/