您好我有一些元组Tuple2<String, Integer>
,我想转换为字符串,然后将其发送给KAFKA。
我试图找出一种迭代元组并从中创建一个字符串的方法,所以如果我的元组中有N个元素,我想创建一个包含它们的字符串。
我尝试了平面图,但为元组中的每个元素设置了新字符串。
SingleOutputStreamOperator<String> s = t.flatMap(new FlatMapFunction<Tuple2<String, Integer>, String>() {
@Override
public void flatMap(Tuple2<String, Integer> stringIntegerTuple2, Collector<String> collector) throws Exception {
collector.collect(stringIntegerTuple2.f0 + stringIntegerTuple2.f1);
}
});
在字符串中创建元组的正确方法是什么。
答案 0 :(得分:0)
您可以使用自定义类覆盖元组的.toString()
方法并使用它。像这样:
import org.apache.flink.api.java.tuple.Tuple3;
public class CustomTuple3 extends Tuple3 {
@Override
public String toString(){
return "measurment color=" + this.f0.toString() + " color=" + this.f1.toString() + " color=" + this.f2.toString();
}
}
所以现在只使用一个CustomTuple3对象而不是Tuple3,当你填充它并在其上调用.toString()
时,它将输出那个格式化的字符串。