原始代码
object TransformTest {def main(args: Array[String]): Unit = {val env = StreamExecutionEnvironment.getExecutionEnvironmentval stream: DataStreamSource[String] = env.readTextFile("src/main/resources/hello.txt")val value: DataStream[SensorReading] = stream.map(a => {val arr: Array[String] = a.split(",")new SensorReading(arr(0).trim, arr(1).trim.toLong, arr(2).trim.toDouble)})val value1: DataStream[SensorReading] = value.keyBy("id").reduce((a,b)=>new SensorReading(a.id,a.timestamp+1,b.temperature+10))value1.print()env.execute("tranform")}}case class SensorReading(id:String,timestamp:Long,temperature:Double) 解决办法
样例类(实体类)中要有无参构造方法 , 应把SensorReading类修改如下形式
class SensorReading(){var id:String=_var timestamp:Long=_var temperature:Double=_def this(id1:String,timestamp1:Long,temperature1:Double){thisid=id1timestamp=timestamp1temperature=temperature1}override def toString: String = id+"+"+timestamp+"+"+temperature} 【GenericType<cn.kgc.SensorReading> flink报错This typecannot be used as key.】
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
