簡體   English   中英

如何在spark中處理大文本文件?

[英]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_linelowest_no_of_line之間有highest_no_of_line lowest_no_of_line

暫無
暫無

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

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