我已经设置了示例项目并构建了它。我能够按预期运行字数程序。但是当我运行SocketTextWordCount时,我没有得到任何打印的结果。
- 我通过 nc 发送数据(两端本地主机:9999(
- 在正在运行的作业的 Web 控制台中,我可以看到有消息正在发送/接收
但我从未在任何地方看到 counts.print(( 输出打印出来,即使在杀死 nc 会话之后也是如此。
编辑 - 当我更改它以将结果打印到文本文件时,没问题。所以问题似乎是 counts.print(( 没有正确写入我正在运行示例的控制台的标准输出。
数据流被打印到 TaskManager 进程的标准输出。当启动 Flink 实例(本地或集群(时,任务管理器的标准输出被定向到 Flink 根目录的./log/
目录中的.out
文件中。因此,您应该检查输出是否已写入这些文件。
此行为不同于 DataSet.print()
,在 JobManager 上收集结果、传送到客户端并由客户端打印。