亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

由:org.apache.spark.sql.Dataset上的java.lang

由:org.apache.spark.sql.Dataset上的java.lang

下面我提供我的代碼。我遍歷DataFrame,prodRows并為每個product_PK找到了匹配的product_PKs子列表prodRows。  numRecProducts = 10  var listOfProducts: Map[Long,Array[(Long, Int)]] = Map()  prodRows.foreach{ row : Row =>      val product_PK = row.get(row.fieldIndex("product_PK")).toString.toLong      val gender = row.get(row.fieldIndex("gender_PK")).toString      val selection = prodRows.filter($"gender_PK" === gender || $"gender_PK" === "UNISEX").limit(numRecProducts).select($"product_PK")      var productList: Array[(Long, Int)] = Array()      if (!selection.rdd.isEmpty()) {        productList = selection.rdd.map(x => (x(0).toString.toLong,1)).collect()      }    listOfProducts = listOfProducts + (product_PK -> productList)  }但是當我執行它時,它給了我以下錯誤。selection在某些迭代中看起來像是空的。但是,我不明白如何處理此錯誤:Driver stacktrace:    at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1690)    at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1678)    at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1677)    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)    at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1677)    at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:855)    at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:855)    at scala.Option.foreach(Option.scala:257)    at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:855)    at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1905)這是什么意思,我該如何處理?
查看完整描述

2 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

問題是您嘗試prodRows從內部訪問prodRows.foreach。您不能在轉換中使用數據框,數據框僅存在于驅動程序中。


查看完整回答
反對 回復 2019-12-04
  • 2 回答
  • 0 關注
  • 923 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號