2017-06-01 196 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()

相關問題