如何在Apache Flink流应用程序输出中将UTF-16转换为Unicode文本

时间:2019-05-19 11:59:35

标签: scala apache-flink flink-streaming

我正在与Flink合作,并且正在编写一个Scala程序,其中我使用Flink的Twitter Connector建立与Twitter流API的连接,并根据规则获取/处理推文,最后:

  1. 在标准输出中显示它们(我正在使用IntelliJ Idea进行开发)。
  2. 将它们保存到txt文件中。

包含带有希腊语或其他特殊字符的文本的推文会同时显示在stdout和txt文件中,例如:

"text":"test \u03c6\u03bb\u03af\u03bd\u03ba"

如何正确呈现UTF-16文本? (如果这也起作用,我正在使用Windows服务器计算机进行开发)。

相关代码如下:

val source = new TwitterSource(props)
source.setCustomEndpointInitializer(myCustomEndpoint)
val streamSource = env.addSource(source)

streamSource.print()
streamSource.writeAsText("file:\\\\C:\\test.txt", org.apache.flink.core.fs.FileSystem.WriteMode.OVERWRITE)

0 个答案:

没有答案