StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);dataStream.filter(data -> "test".equals(data.getTag())).keyBy("userId");......

执行报错:

Exception in thread "main" org.apache.flink.api.common.InvalidProgramException: This type (GenericType<com.zixi.User>) cannot be used as key.    at org.apache.flink.api.common.operators.Keys$ExpressionKeys.<init>(Keys.java:330)    at org.apache.flink.streaming.api.datastream.DataStream.keyBy(DataStream.java:340)    at com.zixi.main(UserTest.java:58)

解决办法:
1.提供默认无参构造函数
2.字段名必须申明为public