簡體   English   中英

如何使用scala在apache spark中存儲操作的結果

[英]How to store the result of an action in apache spark using scala

如何在 apache Spark Scala 中存儲從以下操作生成的結果:在輸出目錄中計數?

    val countval= data.map((_,"")).reduceByKey((_+_)).count

以下命令不起作用,因為計數未存儲為 RDD:

    countval.saveAsTextFile("OUTPUT LOCATION")

有沒有辦法將 countval 存儲到本地/hdfs 位置?

在您調用count它不再是 RDD。

Count 只是Long並且它沒有saveAsTextFile方法。

如果您想存儲您的countval您必須像處理任何其他 long、string、int...

@szefuf 說的是正確的, count完之后,你就有了一個Long ,你可以用任何你想要的方式保存它。 如果您想使用.saveAsTextFile()將其保存為RDD.saveAsTextFile()必須將其轉換為 RDD:

 sc.parallelize(Seq(countval)).saveAsTextFile("/file/location")

SparkContext 中的parallelize方法將一組值轉換為 RDD,因此您需要先將單個值轉換為單個元素序列。 然后你可以保存它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM