【问题标题】:TypeError: 'DataFrame' object is not callable - spark data frameTypeError:“DataFrame”对象不可调用 - 火花数据框
【发布时间】:2019-08-09 22:08:45
【问题描述】:

我在执行上述“加入”语句时遇到错误。我正在使用 pyspark 设置。连接语句或代码中需要的任何更改。

TypeError: 'DataFrame' 对象不可调用

df11 = spark.read.option("header","true").option("delimiter", ",").csv("s3://mybucket/file1.csv")
df22 = spark.read.option("header","true").option("delimiter", ",").csv("s3://mybucket/file2.csv")
df11.createOrReplaceTempView("table1")
df22.createOrReplaceTempView("table2")
df1 = spark.sql( "select * from table1" )
df2 = spark.sql( "select * from table2" )

df_d = df1.join(df2, df1.NO == df2.NO, 'left').filter(F.isnull(df2.NO)).select(df1.NO,df1.NAME,df1.LAT,df1.LONG, F.lit('DELETE').alias('FLAG'))

谢谢

【问题讨论】:

    标签: python apache-spark dataframe pyspark typeerror


    【解决方案1】:

    像这样使用列名作为字符串,它应该可以工作

    df_d = df1.join(df2, df1['NO'] == df2['NO'], 'left').filter(F.isnull(df2['NO'])).select(df1['NO'],df1['NAME'],df1['LAT'],df1['LONG'], F.lit('DELETE').alias('FLAG'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-23
      • 2017-06-17
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      相关资源
      最近更新 更多