其他分享
首页 > 其他分享> > Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic set to 

Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic set to 

作者:互联网

 问题: Caused by: java.lang.RuntimeException: Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic set to 'ProcessingTime', or did you forget to call 'DataStream.assignTimestampsAndWatermarks(...)'?   Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: Job execution failed.     at org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:144)     at org.apache.flink.runtime.minicluster.MiniClusterJobClient.lambda$getJobExecutionResult$3(MiniClusterJobClient.java:137)     at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)     at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)     at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)     at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)     at org.apache.flink.runtime.rpc.akka.AkkaInvocationHandler.lambda$invokeRpc$0(AkkaInvocationHandler.java:237)     at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)     at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)     at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)     at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)     at org.apache.flink.runtime.concurrent.FutureUtils$1.onComplete(FutureUtils.java:1081)     at akka.dispatch.OnComplete.internal(Future.scala:264)     at akka.dispatch.OnComplete.internal(Future.scala:261)     at akka.dispatch.japi$CallbackBridge.apply(Future.scala:191)     at akka.dispatch.japi$CallbackBridge.apply(Future.scala:188)     at scala.concurrent.impl.CallbackRunnable.run$$$capture(Promise.scala:60)     at scala.concurrent.impl.CallbackRunnable.run(Promise.scala)     at org.apache.flink.runtime.concurrent.Executors$DirectExecutionContext.execute(Executors.java:73)     at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:68)     at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1(Promise.scala:284)     at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1$adapted(Promise.scala:284)     at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:284)     at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:573)     at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:22)     at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:21)     at scala.concurrent.Future.$anonfun$andThen$1(Future.scala:532)     at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)     at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)     at scala.concurrent.impl.CallbackRunnable.run$$$capture(Promise.scala:60)     at scala.concurrent.impl.CallbackRunnable.run(Promise.scala)     at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)     at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)     at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)     at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)     at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)     at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)     at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)     at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)     at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)     at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)     at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) Caused by: org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy     at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.handleFailure(ExecutionFailureHandler.java:138)     at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.getFailureHandlingResult(ExecutionFailureHandler.java:82)     at org.apache.flink.runtime.scheduler.DefaultScheduler.handleTaskFailure(DefaultScheduler.java:207)     at org.apache.flink.runtime.scheduler.DefaultScheduler.maybeHandleTaskFailure(DefaultScheduler.java:197)     at org.apache.flink.runtime.scheduler.DefaultScheduler.updateTaskExecutionStateInternal(DefaultScheduler.java:188)     at org.apache.flink.runtime.scheduler.SchedulerBase.updateTaskExecutionState(SchedulerBase.java:677)     at org.apache.flink.runtime.scheduler.SchedulerNG.updateTaskExecutionState(SchedulerNG.java:79)     at org.apache.flink.runtime.jobmaster.JobMaster.updateTaskExecutionState(JobMaster.java:435)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:305)     at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:212)     at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:77)     at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:158)     at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)     at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)     at scala.PartialFunction.applyOrElse(PartialFunction.scala:123)     at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122)     at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)     at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)     at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)     at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:172)     at akka.actor.Actor.aroundReceive(Actor.scala:517)     at akka.actor.Actor.aroundReceive$(Actor.scala:515)     at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:225)     at akka.actor.ActorCell.receiveMessage(ActorCell.scala:592)     at akka.actor.ActorCell.invoke(ActorCell.scala:561)     at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)     at akka.dispatch.Mailbox.run(Mailbox.scala:225)     at akka.dispatch.Mailbox.exec(Mailbox.scala:235)     ... 4 more Caused by: java.lang.RuntimeException: Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic set to 'ProcessingTime', or did you forget to call 'DataStream.assignTimestampsAndWatermarks(...)'?     at org.apache.flink.streaming.api.windowing.assigners.TumblingEventTimeWindows.assignWindows(TumblingEventTimeWindows.java:83)     at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator.processElement(WindowOperator.java:302)     at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:205)     at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:134)     at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:105)     at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:66)     at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:423)     at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:204)     at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:681)     at org.apache.flink.streaming.runtime.tasks.StreamTask.executeInvoke(StreamTask.java:636)     at org.apache.flink.streaming.runtime.tasks.StreamTask.runWithCleanUpOnFail(StreamTask.java:647)     at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:620)     at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:779)     at org.apache.flink.runtime.taskmanager.Task.run(Task.java:566)     at java.lang.Thread.run(Thread.java:748)   此处使用的窗口函数为[TumblingEventTimeWindows]是以事件时间为标准的,窗口函数可使用两种时间,一种是事件发生时间,一种是数据到达时间 如果只是简单测试窗口函数,建议改为[TumblingProcessingTimeWindows],因为flink默认的就是以数据到达时间为标准 如果要用数据产生时间,则需要配置 timestampAssigner  
import org.apache.flink.streaming.api.TimeCharacteristic
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
 
val inputStream = env.socketTextStream("localhost", 7777)
// 1.先转换成样例数据
val dataStream: DataStream[SensorReading] = inputStream
  .map(
    data => {
      val arr = data.split(",")
      SensorReading(arr(0), arr(1).toLong, arr(2).toDouble)
    }
  )
  .assignTimestampsAndWatermarks(
    WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(3))
     .withTimestampAssigner(new SerializableTimestampAssignerTest)
  )
  如果设置 env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime): 则后面 不能使用 .window(TumblingEventTimeWindows.of等  EventTime的窗口,不然会报这个错!注意:ProcessingTime本身就是单调递增的,不必设置水位线! 

标签:...,DataStream,java,scala,timestamp,flink,apache,org,runtime
来源: https://www.cnblogs.com/EnzoDin/p/16496084.html