pyspark 数据块名称错误:名称“expr”未定义

yeotifhr  于 2023-06-21  发布在  Spark
关注(0)|答案(1)|浏览(98)

当尝试在Databricks中执行以下spark代码时,我得到错误:

NameError: name 'expr' is not defined

%python
df = sql("select * from xxxxxxx.xxxxxxx")
transfromWithCol = (df.withColumn("MyTestName", expr("case when first_name = 'Peter' then 1 else 0 end")))

有什么想法吗

pdsfdshx

pdsfdshx1#

  • 我收到了同样的错误,当我尝试了类似的代码。以下是我收到的错误。
data = [[1,'Ana'],[2,'Topson'],[3,'Ceb']]
df = spark.createDataFrame(data=data,schema=['id','gname'])
df.show()

df1 = df.withColumn("MyTestName", expr("case  when gname =  'Ana'  then  1  else  0  end"))
df1.show()

  • 您必须从pyspark.sql.functions安装函数才能使其工作。使用以下修改后的代码可以正常工作,没有任何问题:
from pyspark.sql.functions import expr

df1 = df.withColumn("MyTestName", expr("case  when gname =  'Ana'  then  1  else  0  end"))
df1.show()

相关问题