我有一个 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);
谢谢,内森