![JAR search and dependency download from the Maven repository](/logo.png)
io.wizzie.normalizer.funcs.impl.MaxValueMapper Maven / Gradle / Ivy
package io.wizzie.normalizer.funcs.impl;
import io.wizzie.metrics.MetricsManager;
import io.wizzie.normalizer.funcs.MapperFunction;
import org.apache.kafka.streams.KeyValue;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import static com.cookingfox.guava_preconditions.Preconditions.checkNotNull;
public class MaxValueMapper extends MapperFunction {
String dimension;
String newDimension;
@Override
public void prepare(Map properties, MetricsManager metricsManager) {
dimension = (String) checkNotNull(properties.get("dimension"), "dimension cannot be null");
newDimension = (String) properties.getOrDefault("max_dimension_name", "max_value");
}
@Override
public KeyValue> process(String key, Map value) {
if(value != null) {
List arrayValue = (List) value.get(dimension);
if(arrayValue != null)
value.put(newDimension, Collections.max(arrayValue));
}
return new KeyValue<>(key, value);
}
@Override
public void stop() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy