在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 ...)
答案 0 :(得分:0)
您可以使用.drop(“ colname”)从数据框中删除列。
df1=df.drop("a","b","c","d")
希望它对您有帮助。