我一直試圖在SPARK與主紗集羣,但其導致沒有執行下面的語句。而如果我在本地執行相同的操作,它的運行沒有任何問題。有人可以提出這裏有什麼問題嗎?地圖在RDD與集羣
在這個過程中,輸入HDFS目錄與文件的AVRO
val rdd = sc.newAPIHadoopFile(inAvro,
classOf[AvroKeyInputFormat[PolicyTransaction]],
classOf[AvroKey[PolicyTransaction]],
classOf[NullWritable],
sc.hadoopConfiguration
)
println(rdd.count())// This works with Local and Cluster
val avroObj = rdd.map(record => {
Try
{
val combineRecords = new PolicyTransaction
println(record._1.datum().getPolicyNumber)// This doesn't work with Local and Cluster
combineRecords.setPolicyNumber(record._1.datum().getPolicyNumber)
combineRecords.setLOBCd(record._1.datum().getLOBCd)
combineRecords.setPolicyVersion(record._1.datum().getPolicyVersion)
combineRecords.setStatStateProvCd(record._1.datum().getStatStateProvCd)
combineRecords.setTransactionEffectiveDt(record._1.datum().getTransactionEffectiveDt)
combineRecords.setTransactionProcessedDt(record._1.datum().getTransactionProcessedDt)
combineRecords.setQuoteOrPolicy(record._1.datum().getQuoteOrPolicy.get(0))
combineRecords
}
match
{
case Success(map) => Right(map)
case Failure(map) => Left(map)
}
}
).cache()
你有什麼用VAL avroObj做什麼?你是否觸發了任何行動? – BDR
什麼不起作用? –
您是否指印刷品未被印刷?如果是這樣,你這是忘記了'println'命令你的工人執行的典型的錯誤 - _not_你的驅動程序 - 這樣的話你會看到_不_是印在你的驅動程序。必須通過工人的日誌文件一看,你會看到你的打印語句;-) –