google-cloud-platform - 从 Java 中的 pub sub 流式传输时使用 PubSub-NullPointerException 进行 Spark Streaming
问题描述
我的数据在 PubSub 中,我想流式传输数据。我使用 dataproc 在 java 中运行我的 spark 作业。但是作业失败并出现以下错误。
19/06/18 06:32:30 警告 org.apache.spark.streaming.scheduler.ReceiverTracker:接收器报告流 0 的错误:无法提取消息 - scala.collection.convert.Wrappers$ 的 java.lang.NullPointerException JListWrapper.iterator(Wrappers.scala:88) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.generic.Growable $class.$plus$plus$eq(Growable.scala:59) at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183) at scala.collection.mutable.ListBuffer.$plus$ plus$eq(ListBuffer.scala:45) at scala.collection.TraversableLike$class.to(TraversableLike.scala:590) at scala.collection.AbstractTraversable.to(Traversable.scala:104) at scala.collection.TraversableOnce$class .toList(TraversableOnce.scala:294) 在 org.apache.spark.streaming.pubsub.PubsubReceiver.receive(PubsubInputDStream.scala:259) 在 org.apache.spark.streaming.pubsub.PubsubReceiver 的 scala.collection.AbstractTraversable.toList(Traversable.scala:104) $$anon$1.run(PubsubInputDStream.scala:247)
我使用的代码段是
PubsubUtils.createStream(jssc, "projectId","TopicName","subscriptionName",new SparkGCPCredentials.Builder().jsonServiceAccount("放置在dataproc中的json的绝对路径"), StorageLevel.MEMORY_AND_DISK_2());
解决方案
当 spark 尝试从没有等待事件的 pubsub 订阅中读取事件时,会显示此警告。它不应该破坏工作,而只是意味着对于给定的一批数据没有要读取的事件。
推荐阅读
- angular - Angular 类绑定
- php - 在 API PLATFORM 中链接学说实体
- mongodb - mongodb的聚合查找管道条件集合
- python - 如何将 GEKKO 中的值转换为浮点数
- scala - 如何比较两个火花流作业的性能?
- c# - 如何将现有数据库记录放入 GirdView 以在 ASP.NET MVC 中执行 CRUD 操作?
- mysql - 如何在节点 js 中重新启动 mqtt 订阅者
- java - 在标记中显示信息
- hadoop - 如何将 Hadoop 版本从 3.2.1 转换为 2.2.0?
- google-analytics - 为什么onclick() gtag事件在其他事件都ok时没有出现在GA中