in flume-kudu-sink/src/main/java/org/apache/flume/sink/kudu/RegexpKuduOperationsProducer.java [208:247]
public void configure(Context context) {
String regexp = context.getString(PATTERN_PROP);
Preconditions.checkArgument(regexp != null,
"Required parameter %s is not specified",
PATTERN_PROP);
try {
pattern = Pattern.compile(regexp);
} catch (PatternSyntaxException e) {
throw new IllegalArgumentException(
String.format("The pattern '%s' is invalid", regexp), e);
}
String charsetName = context.getString(ENCODING_PROP, DEFAULT_ENCODING);
try {
charset = Charset.forName(charsetName);
} catch (IllegalArgumentException e) {
throw new FlumeException(
String.format("Invalid or unsupported charset %s", charsetName), e);
}
operation = context.getString(OPERATION_PROP, DEFAULT_OPERATION).toLowerCase(Locale.ENGLISH);
Preconditions.checkArgument(
validOperations.contains(operation),
"Unrecognized operation '%s'",
operation);
missingColumnPolicy = getParseErrorPolicyCheckingDeprecatedProperty(
context, SKIP_MISSING_COLUMN_PROP, MISSING_COLUMN_POLICY_PROP,
ParseErrorPolicy.WARN, ParseErrorPolicy.REJECT, DEFAULT_MISSING_COLUMN_POLICY
);
badColumnValuePolicy = getParseErrorPolicyCheckingDeprecatedProperty(
context, SKIP_BAD_COLUMN_VALUE_PROP, BAD_COLUMN_VALUE_POLICY_PROP,
ParseErrorPolicy.WARN, ParseErrorPolicy.REJECT, DEFAULT_BAD_COLUMN_VALUE_POLICY
);
unmatchedRowPolicy = getParseErrorPolicyCheckingDeprecatedProperty(
context, WARN_UNMATCHED_ROWS_PROP, UNMATCHED_ROW_POLICY_PROP,
ParseErrorPolicy.WARN, ParseErrorPolicy.IGNORE, DEFAULT_UNMATCHED_ROW_POLICY
);
}