【发布时间】:2015-12-20 08:26:04
【问题描述】:
使用 fromElements 函数创建 DataStream 时出错
下面是expeption -
原因:java.io.IOException:无法反序列化来自的元素 来源。如果您使用用户定义的序列化(值和 可写类型),检查序列化函数。串行器是 org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer@599fcdda 在 org.apache.flink.streaming.api.functions.source.FromElementsFunction.run(FromElementsFunction.java:121) 在 org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:58) 在 org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:55) 在 org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:218) 在 org.apache.flink.runtime.taskmanager.Task.run(Task.java:584) 在 java.lang.Thread.run(Thread.java:745)
【问题讨论】:
-
你提供给
fromElements方法的类型是什么? -
它是 InputStreamReader
-
下面是示例 - private static DataStream
getStream(StreamExecutionEnvironment env) { InputStreamReader isr=null;尝试 { URL url = new URL("ex.in/res"); HttpURLConnection httpconn = (HttpURLConnection) url.openConnection(); if (httpconn.getResponseCode() != 200) throw new RuntimeException("Failed : HTTP error code : " + httpconn.getResponseCode()); isr = new InputStreamReader((httpconn.getInputStream())); } catch (Exception e){} return env.fromElements(isr); }
标签: apache-flink flink-streaming