Flink map将string类型数据转为tuple
时间: 2023-05-27 15:02:28 浏览: 146
基于Flink+SQL实现数据同步.doc
可以使用map算子中的lambda表达式将string类型的数据转换为tuple类型,如下所示:
```java
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
public class StringToTuple {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> input = env.socketTextStream("localhost", 9999);
DataStream<Tuple2<String, Integer>> result = input.map(value -> {
String[] words = value.split(" ");
return new Tuple2<>(words[0], Integer.parseInt(words[1]));
});
result.print();
env.execute();
}
}
```
上述代码中,我们先通过socketTextStream方法创建一个DataStream,该方法从指定的主机和端口号接收输入。接着,我们使用map算子和lambda表达式将输入字符串转换为tuple类型,并将结果打印出来。在lambda表达式中,我们先使用split方法将输入字符串按空格分割,然后将分割结果转换为tuple类型返回。
阅读全文