0

我需要從我的spark sql查詢中調用一個函數。我嘗試過udf,但我不知道如何操縱它。 下面是這種情況:如何從pyspark中的spark sql查詢調用用戶定義的函數?

# my python function example 

def sum(effdate, trandate): 
    sum=effdate+trandate 
    return sum 

和我的火花sql查詢是這樣的:

spark.sql("select sum(cm.effdate, cm.trandate)as totalsum, name from CMLEdG cm ....").show() 

這些線是不是我的代碼,但我指出它作爲一個例子。我怎麼能在spark.sql(sql查詢)中調用我的sum函數來獲取結果? 能否請您提供任何鏈接或與pyspark兼容的任何評論?

任何幫助,將不勝感激。

感謝

格利揚

回答

0

入住這

>>> from pyspark.sql.types import IntegerType 
    >>> sqlContext.udf.register("stringLengthInt", lambda x: len(x), IntegerType()) 
    >>> sqlContext.sql("SELECT stringLengthInt('test')").collect() 
    [Row(_c0=4)] 
相關問題