Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Flink源函数返回序列化值_Java_Apache Flink - Fatal编程技术网

Java Flink源函数返回序列化值

Java Flink源函数返回序列化值,java,apache-flink,Java,Apache Flink,我正在尝试使用ApacheFlink制作一个滑动窗口。我正在使用SourceFunction发送一些数据,但是,通过读取数据,它确实满足了我的条件。当我在控制台上读取输出时,问题出现了,数据被转换为序列化值。我希望它以常规的POJO形式显示 编辑: 以下是我的数据生成器代码: public class DataCollector implements SourceFunction<MachineData> { @Override public void run(SourceConte

我正在尝试使用ApacheFlink制作一个滑动窗口。我正在使用
SourceFunction
发送一些数据,但是,通过读取数据,它确实满足了我的条件。当我在控制台上读取输出时,问题出现了,数据被转换为序列化值。我希望它以常规的POJO形式显示

编辑:

以下是我的数据生成器代码:

public class DataCollector implements SourceFunction<MachineData> {
@Override
public void run(SourceContext<MachineData> sourceContext) throws Exception {
    DateFormat df = new SimpleDateFormat ("yyyy-MM-dd");
    MachineData m1 = new MachineData (101,"Eng1",df.parse("2016-04-01"), 90);
    MachineData m2 = new MachineData (102,"Eng1",df.parse("2016-04-01"), 105);

    sourceContext.collect (m1);
    sourceContext.collect (m2);
}

@Override
public void cancel() {

}}

任何帮助都将不胜感激。

它不是以序列化形式打印的,而是使用默认的
toString
实现来打印java引用。只需将自定义
toString
方法添加到您的POJO类中即可。@DawidWysakowicz谢谢您,我犯了一个非常愚蠢的错误。我觉得自己很愚蠢。别担心,我们都会时不时地犯愚蠢的错误;)
public class AppWindow {

public static void main(String[] args) throws Exception {
    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment ();
    env.registerType (MachineData.class);

    env.setParallelism (2);
    env.enableCheckpointing (1500, CheckpointingMode.EXACTLY_ONCE);
    env.setStreamTimeCharacteristic (TimeCharacteristic.ProcessingTime);


    DataStream<MachineData> stream = env.addSource (new DataCollector ());

    stream
            .filter (reading -> reading.getvTemp ()>100)
            .map (reading -> "-- ALERT Reading Above Threshold!: " + reading)
            .print ();

    stream
            .keyBy (reading -> reading.getEngineId ())
            .window (SlidingTimeWindows.of (Time.seconds (10),Time.seconds (10)));

    env.execute ();

}}
    INFO | Filter -> Map -> Sink: Unnamed (2/2) (bc7ddef1a04a90951c210c3e4879073f) switched from DEPLOYING to RUNNING
 INFO | 05/31/2018 17:00:57 Filter -> Map -> Sink: Unnamed(1/2) switched to RUNNING 
05/31/2018 17:00:57 Filter -> Map -> Sink: Unnamed(1/2) switched to RUNNING 
 INFO | 05/31/2018 17:00:57 Filter -> Map -> Sink: Unnamed(2/2) switched to RUNNING 
05/31/2018 17:00:57 Filter -> Map -> Sink: Unnamed(2/2) switched to RUNNING 
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.esotericsoftware.kryo.util.UnsafeUtil (file:/root/.m2/repository/com/esotericsoftware/kryo/kryo/2.24.0/kryo-2.24.0.jar) to constructor java.nio.DirectByteBuffer(long,int,java.lang.Object)
WARNING: Please consider reporting this to the maintainers of com.esotericsoftware.kryo.util.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
 INFO | Source: Custom Source (1/1) switched to FINISHED
 INFO | Freeing task resources for Source: Custom Source (1/1)
 INFO | Unregistering task and sending final execution state FINISHED to JobManager for task Source: Custom Source (50a21edf25560021864b483211196b58)
 INFO | Source: Custom Source (1/1) (50a21edf25560021864b483211196b58) switched from RUNNING to FINISHED
 INFO | 05/31/2018 17:00:58 Source: Custom Source(1/1) switched to FINISHED 
05/31/2018 17:00:58 Source: Custom Source(1/1) switched to FINISHED 
**2> -- ALERT Reading Above Threshold!: fkwtest.MachineData@577aa2db**
 INFO | Filter -> Map -> Sink: Unnamed (2/2) switched to FINISHED
 INFO | Freeing task resources for Filter -> Map -> Sink: Unnamed (2/2)
 INFO | Unregistering task and sending final execution state FINISHED to JobManager for task Filter -> Map -> Sink: Unnamed (bc7ddef1a04a90951c210c3e4879073f)
 INFO | Filter -> Map -> Sink: Unnamed (2/2) (bc7ddef1a04a90951c210c3e4879073f) switched from RUNNING to FINISHED
 INFO | 05/31/2018 17:00:58 Filter -> Map -> Sink: Unnamed(2/2) switched to FINISHED 
05/31/2018 17:00:58 Filter -> Map -> Sink: Unnamed(2/2) switched to FINISHED