相关疑难解决方法(0)

Spark Dataframe中的重复列

我在hadoop集群中有一个带有重复列的10GB csv文件.我尝试在SparkR中分析它,所以我使用spark-csv包来解析它DataFrame:

  df <- read.df(
    sqlContext,
    FILE_PATH,
    source = "com.databricks.spark.csv",
    header = "true",
    mode = "DROPMALFORMED"
  )
Run Code Online (Sandbox Code Playgroud)

但由于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)
...
Run Code Online (Sandbox Code Playgroud)

我想保留第一次出现的Email列并删除后者,我该怎么做?

csv hadoop r apache-spark sparkr

6
推荐指数
2
解决办法
8379
查看次数

标签 统计

apache-spark ×1

csv ×1

hadoop ×1

r ×1

sparkr ×1