簡體   English   中英

Scala - 刪除 Spark DataFrame 的第一行

[英]Scala - Remove first row of Spark DataFrame

我知道數據幀應該是不可變的,而且我知道嘗試改變它們並不是一個好主意。 但是,我收到的文件有一個無用的 4 列標題(整個文件有 50 多列)。 所以,我想要做的就是去掉最上面的一行,因為它把所有東西都扔掉了。

我嘗試了許多不同的解決方案(主要在這里找到),例如使用 .filter() 和地圖替換,但沒有任何工作。

以下是數據外觀的示例:

H | 300 | 23098234 | N
D | 399 | 54598755 | Y | 09983 | 09823 | 02983 | ... | 0987098
D | 654 | 65465465 | Y | 09983 | 09823 | 02983 | ... | 0987098
D | 198 | 02982093 | Y | 09983 | 09823 | 02983 | ... | 0987098

有任何想法嗎?

到目前為止我見過的最干凈的方法是過濾掉第一行

csv_rows           = sc.textFile('path_to_csv')
skipable_first_row = csv_rows.first() 
useful_csv_rows    = csv_rows.filter(row => row != skipable_first_row)   

如果您的數據框只有 1 個分區,這應該可以工作:

val dfWithoutFirstRow = df.mapPartitions(iterator => iterator.drop(1))

否則看這里

暫無
暫無

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

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