[英]How to handle large text file in spark?
我有一個大文本文件 (3 GB),它是 DNA 參考。 我想把它分成幾部分,這樣我就可以處理了。
所以我想知道如何使用 Spark 對文件進行切片。 我目前只有一個具有 4 GB 內存的節點
聽起來您想將文件加載為多個分區。 如果您的文件是可拆分的(文本文件、snappy、序列等),您可以簡單地提供將加載的分區數作為sc.textFile(inputPath, numPartitions)
。 如果你的文件不可拆分,它會作為一個分區加載,但你可以在加載的 RDD 上調用.repartition(numPartitions)
來重新分區為多個分區。
如果您想在每個塊中包含特定數量的行,您可以嘗試以下操作:
rdd=sc.textFile(inputPath).zipWithIndex()
rdd2=rdd.filter(x=>lowest_no_of_line<=x._2 & x._2<=highest_no_of_line).map(x=>x._1).coalesce(1,false)
rdd2.saveAsTextFile(outputpath)
現在您保存的文本文件將在highest_no_of_line
和lowest_no_of_line
之間有highest_no_of_line
lowest_no_of_line
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.