我想把数据流从虚拟机发送到主机,我正在使用这个方法 writeToSocket()
如下图所示:
joinedStreamEventDataStream.writeToSocket("192.168.1.10", 6998) ;
在这里 joinedStreamEventDataStream
属于类型 DataStream<Integer,Integer>
.
有人能告诉我我应该如何将序列化程序传递给上述方法吗。
提前谢谢
我想把数据流从虚拟机发送到主机,我正在使用这个方法 writeToSocket()
如下图所示:
joinedStreamEventDataStream.writeToSocket("192.168.1.10", 6998) ;
在这里 joinedStreamEventDataStream
属于类型 DataStream<Integer,Integer>
.
有人能告诉我我应该如何将序列化程序传递给上述方法吗。
提前谢谢
2条答案
按热度按时间jogvjijk1#
这取决于您希望如何从套接字读取数据。如果您希望它是数据的字符串表示形式,则可以通过以下方式实现:
如果要保留flink的序列化格式,则可以编写:
如果您想以自己的序列化格式输出它,那么您必须实现自己的序列化格式
SerializationSchema
正如亚历克斯所指出的。t3irkdon2#
这个
writeToSocket()
方法接受3个参数:套接字主机和端口,以及SerializationSchema
用于序列化数据的接口。所以你的实现可能是这样的:这是真的如果
joinedStreamEventDataStream
有DataStream<Integer>
类型。