python - pyspark udf rlike condition in if error -
i using spark 2.1 scripting pyspark scripting
my dataframe given below
dataframe name:df
a
naveen
naveen123
now output should
a
naveen
i using below udf this
def fn(a): if((a==rlike("[0-9]"))|(a==' ')): return s df.withcolumn("flg",fn("a")).show()
i getting error :global name 'rlike' not defined
please me in crossing hurdle
you want filter
not withcolumn
adds column.
if want strictly alphabetical :
import pyspark.sql.functions psf df = df.withcolumn("ischarstring", df.a.rlike("^[a-za-z]+$"))
if want keep strings don't have numbers
df = df.withcolumn("ischarstring", ~df.a.rlike("[0-9]"))
the error you're getting using function because use rlike
as standalone function not, attribute class pyspark columns. rewrite function in spark:
df = df.withcolumn("ischarstring", psf.when( df.a.rlike("[0-9]")| (df.a == " "), psf.lit("s")).otherwise(df.a))
wiki
Comments
Post a Comment