我在hadoop集羣中有一個10GB的csv文件,並且有重複的列。我嘗試分析它SparkR所以我用spark-csv
包解析它作爲DataFrame
:Spark Dataframe中的重複列
df <- read.df(
sqlContext,
FILE_PATH,
source = "com.databricks.spark.csv",
header = "true",
mode = "DROPMALFORMED"
)
但由於DF有重複Email
列,如果我要選擇此列,它會報錯了:
select(df, 'Email')
15/11/19 15:41:58 ERROR RBackendHandler: select on 1422 failed
Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) :
org.apache.spark.sql.AnalysisException: Reference 'Email' is ambiguous, could be: Email#350, Email#361.;
at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolve(LogicalPlan.scala:278)
...
我想保留Email
列的第一次出現並刪除後者,我該怎麼做?
我都嘗試,但他們都得出了相同的「參考‘電子郵件’不明確」的錯誤,我在問題中提到。 – Bamqf