我有一个spark 2.0 java应用程序,它使用sparks csv读取实用程序将CSV文件读入数据帧。问题是,有时100个输入文件中有1个可能无效(损坏的gzip)导致作业失败:
java.lang.IllegalStateException: Error reading from input
当我以前将文件作为文本文件读取并手动解析CSV时,我能够编写自定义TextInputFormat来处理异常。在使用spark的CSV阅读器时,我无法弄清楚如何指定客户TextInputFormat。任何帮助将不胜感激。
用于阅读CSV的当前代码:
Dataset<Row> csv = sparkSession.read()
.option("delimiter", parseSettings.getDelimiter().toString())
.option("quote", parseSettings.getQuote())
.option("parserLib", "UNIVOCITY")
.csv(paths);
谢谢, 森