Spark数据帧为NULL(无效树)

时间:2019-05-14 03:22:18

标签: apache-spark apache-spark-sql rdd

我有一个spark(spark 2.1)作业,该作业使用Kafka直接流处理流数据。我用存储在HDFS中的数据文件丰富了流数据。我首先读取数据文件(* .parquet)并将其存储在数据框中,然后每次使用此数据框来充实一条记录。

该代码运行时没有任何错误,但是没有发生充实。我在调试模式下运行代码,发现数据帧(例如df)显示为无效树。为什么rdd.foreachPartition中的数据框为空?如何解决这个问题?谢谢!

 val kafkaSinkVar = ssc.sparkContext.broadcast(KafkaSink(kafkaServers, outputTopic))

 Service.aggregate(kafkaInputStream).foreachRDD(rdd => {  
      val df =ss.read.parquet( filePath + "/*.parquet" )
      println("Record Count in DF: " + df.count())  ==> the console shows the files were loaded successfully with the record count = 1300
      rdd.foreachPartition(partition => {
        val futures = partition.map(event => {
          sentMsgsNo.add(1L)
          val eventEnriched = someEnrichmen1(event,df)  ==> df is shown as invalid tree here
          kafkaSinkVar.value.sendCef(eventEnriched)
        })

        })
      })
    })

0 个答案:

没有答案