可以使用map算子中的lambda表达式将string类型的数据转换为tuple类型,如下所示:

import org.apache.flink.api.<em>java</em>.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; public class <em>String</em>ToTuple { public static void main(<em>String</em>[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStream<<em>String</em>> input = env.socketTextStream("localhost", 9999); DataStream<Tuple2<<em>String</em>, Integer>> result = input.<em>map</em>(value -> { <em>String</em>[] words = value.split(" "); return new Tuple2<>(words[0], Integer.parseInt(words[1])); }); result.print(); env.execute(); } }
讯享网
上述代码中,我们先通过socketTextStream方法创建一个DataStream,该方法从指定的主机和端口号接收输入。接着,我们使用map算子和lambda表达式将输入字符串转换为tuple类型,并将结果打印出来。在lambda表达式中,我们先使用split方法将输入字符串按空格分割,然后将分割结果转换为tuple类型返回。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/137618.html