afedulov commented on a change in pull request #17598:
URL: https://github.com/apache/flink/pull/17598#discussion_r792685482
##########
File path:
flink-formats/flink-csv/src/main/java/org/apache/flink/formats/csv/CsvFileFormatFactory.java
##########
@@ -109,17 +110,21 @@ public CsvBulkDecodingFormat(ReadableConfig
formatOptions) {
final RowType physicalRowType = (RowType)
physicalDataType.getLogicalType();
final CsvSchema schema = buildCsvSchema(physicalRowType,
formatOptions);
+ final boolean ignoreParseErrors =
+ formatOptions.getOptional(IGNORE_PARSE_ERRORS).isPresent();
final Converter<JsonNode, RowData, Void> converter =
(Converter)
- new CsvToRowDataConverters(false)
+ new CsvToRowDataConverters(ignoreParseErrors)
.createRowConverter(projectedRowType,
true);
- return new StreamFormatAdapter<>(
+ CsvReaderFormat<RowData> csvReaderFormat =
new CsvReaderFormat<>(
new CsvMapper(),
schema,
JsonNode.class,
converter,
- context.createTypeInformation(projectedDataType)));
+ context.createTypeInformation(projectedDataType));
+ csvReaderFormat.setIgnoreParseErrors(ignoreParseErrors);
Review comment:
It is a bit unclear what do you propose? Do you mean adding something
like a `ReaderConfig` with a builder and passing it into the `CsvReaderFormat`
instead of the individual parameters?
As mentioned in my previous comment, I decided to make it a setter because
otherwise, we would need to expand all of the static factory methods
(`fromShcma`, `fromPojo`) and "pollute" them with this special concern. In that
case I would add utility "telescope" methods with this parameter set to
"ignore-parse-errors=false" by default.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]