Spark,为什么删除列会导致Spark作业失败?

时间:2018-08-01 16:36:35

标签: apache-spark pyspark apache-spark-sql

在Spark 2.0中,我正在运行一个pyspark作业,该作业从表中读取,添加一些逻辑基于30天的数据窗口化的列,然后我使用df.createOrReplaceTempView,后跟{{ 1}}在HDFS中创建表。

此作业成功运行,并在HDFS中创建了一个表。但是,我不需要在数据框中刚创建的所有列。我只需要一半的新列,因此我添加了一些逻辑来删除不需要的列(所有将要删除的列都是最近创建的)。当我运行drop`df = df.select([c表示df.columns中的c,如果c不在('a','b','d','e'))])中,则火花作业现在失败! / p>

错误:spark.sql(create table as select * from ...)

1 个答案:

答案 0 :(得分:0)

您可以使用.drop(“ colname”)从数据框中删除列。

df1=df.drop("a","b","c","d")

希望它对您有帮助。