场景
1.spark Structured Streaming 中数据流一行变多行
2.一个JSON数组字符串动态变多个JSONobject字符串
3.dataset.flatmap
示例代码
作用:一个JSON数组字符串动态变多个JSONobject字符串
注意:写Encoders.STRING()
Dataset<String> flatList=temp.flatMap(new FlatMapFunction<String, String>() {
@Override
public Iterator<String> call(String s) throws Exception {
JSONArray jsonArray=new JSONArray(s);
List<String> temp=new ArrayList<>();
for(int i=0;i< jsonArray.length();i++){
temp.add( jsonArray.get(i).toString());
}
return temp.iterator();
}
}, Encoders.STRING());