[英]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.