1
我正在使用pyspark 2.0。我得到的酸洗錯誤婁代碼PicklingError:Can not pickle <type'function'>:屬性查找__builtin __。在調用UDF時,函數在pyspark中失敗
from pyspark.sql.types import*
from datetime import datetime
from pyspark.sql.functions import udf
def getTime():
timevalue=datetime.now()
return timevalue
spark.udf.register('Getday', getTime,TimestampType())
def datetostring_conv(datevalue):
stringvalue=datevalue.strftime('%Y-%m-%d')
print stringvalue
intstring=stringvalue[0:4]+stringvalue[5:7]+stringvalue[8:10]
return intstring
spark.udf.register('IntString',lambda(x):datetostring_conv,StringType())
到這個時候我打電話
spark.sql("select date_add(Getday(),-1)as stringtime").show()
我收到前一天值作爲日期類型,但是當我試圖把它轉換成字符串避免' - '。這是IntString功能的工作我收到酸洗錯誤
spark.sql("select IntString(date_add(GetDay(),1))as stringvalue").show()
我怎麼能解決這個錯誤
在此先感謝