Scala 如何将Flink数据集元组转换为一列

Scala 如何将Flink数据集元组转换为一列,scala,apache-flink,Scala,Apache Flink,我有一个数据图表,比如 1 2 1 4 4 1 4 2 4 3 3 2 2 3 但我找不到一种方法将其转换为一列数据集,如 1 2 1 4 4 1 ... 这是我的代码,我使用了scala ListBuffer,但在Flink数据集中找不到这样做的方法 val params:ParameterTool=ParameterTool.fromsargs val env=ExecutionEnvironment.getExecutionEnvironment env.getConfig.setGl

我有一个数据图表,比如

1 2
1 4
4 1
4 2
4 3
3 2
2 3
但我找不到一种方法将其转换为一列数据集,如

1
2
1
4
4
1
...
这是我的代码,我使用了scala ListBuffer,但在Flink数据集中找不到这样做的方法

val params:ParameterTool=ParameterTool.fromsargs val env=ExecutionEnvironment.getExecutionEnvironment env.getConfig.setGlobalJobParametersparams val text=env.readTextFileparams.getinput val tupleText=text.map{line=> val arr=line.split arr0,arr1 } 变量x:Seq[String,String]=tupleText.collect var templast=newlistbuffer[String] x、 foreachline=>{ 圣堂武士+=行。\u 1 圣堂武士+=行。\u 2 } 圣殿骑士 您可以使用flatMap执行此操作:

//获取一些输入 val输入:数据集[Int,Int]=env.fromElements1,2,2,3,3,4 //将每个元组元素作为自己的记录发出 val输出:数据集[Int]=input.flatMap t,out=>{ 输出。收集 输出。收集 } //打印结果 输出.打印
谢谢你的回答,顺便问一下,我需要为输出和输出变量指定类型吗?当我没有像tupleText.flatMap t那样编写时,编译器出现了错误,out:Collector[String]=>{…我还没有弄清楚什么时候我需要给出变量的类型,什么时候scala可以自己识别/找到合适的类型。您声明了输出的结果类型吗?您需要输出:DataSet[Int]或输出:Collector[Int]。否则编译器无法推断结果类型。