У меня есть файл csv размером 10 ГБ в кластере с плавающей точкой с дублирующимися столбцами. Я пытаюсь анализировать ее в SparkR поэтому я использую spark-csv
пакет, чтобы разобрать его как DataFrame
:Дублирующие столбцы в Spark Dataframe
df <- read.df(
sqlContext,
FILE_PATH,
source = "com.databricks.spark.csv",
header = "true",
mode = "DROPMALFORMED"
)
Но поскольку ДФ имеет дублирующие 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
и удалить последнее, как я могу это сделать?
Я попробовал оба, но все они ведут к тому же «Reference„Электронной почте“неоднозначные» ошибка я упомянул в этом вопросе. – Bamqf