2017-06-01 198 views

回答

2

http://docs.confluent.io/current/streams/developer-guide.html#stateless-transformations

示例改变从byte[]Integer值类型。对于StringCarClass是相同的。

KStream<byte[], String> stream = ...; 

// Java 8+ example, using lambda expressions 
// Note how we change the key and the key type (similar to 
`selectKey`) 
// as well as the value and the value type. 
KStream<String, Integer> transformed = stream.map(
    (key, value) -> KeyValue.pair(value.toLowerCase(), value.length())); 

// Java 7 example 
KStream<String, Integer> transformed = stream.map(
    new KeyValueMapper<byte[], String, KeyValue<String, Integer>>() { 
    @Override 
    public KeyValue<String, Integer> apply(byte[] key, String value) { 
     return new KeyValue<>(value.toLowerCase(), value.length()); 
    } 
    }); 

不过,如果你希望只修改这个值,我会建议使用mapValues()而不是map()

相关问题