我正在嘗試讀取存儲在S3中的csv。 CSV不包含標題行。提供spark.csv方法的名稱列表
火花2.0.0或更高版本,
我嘗試閱讀它:
df = spark.read.csv("path_to_csv")
現在,這給了我的列名:
_c0, _c1 , _c2 , ...
有沒有辦法通過我可以在上面的函數中提供列名稱?在Pandas中,我可以使用參數name=['col1','col2',...]
。這裏可能有類似的東西嗎?
PS:我最初的想法是讀取它作爲CSV,然後後處理該列,因爲spark.read.csv方法似乎沒有任何參數可以幫助這裏。
一個後處理解決方案,我能想到的是'new_df = df.toDF(所有 「col1」, 「col2上」 ..)' –
你試過類似於:df2 = df.withColumnRenamed(「_ c0」,「NewName1」)withColumnRenamed(「_ c1」,「NewName2」) – tbone
@tbone是的,我嘗試過,它的工作原理。我不喜歡它的原因是這需要爲每一列調用此方法。對我來說,這種方法似乎更適合單列更換而不是完整列表。我現在試圖看看github上是否有一個功能請求直接在'read()'方法中提供列名。 –