我有一个注册到pyspark的udf,它的任务是通过使用函数的参数a和b构建url来查询web。在运行时,它在print语句中将参数求值为Column<b'(colA + colB)'>
。
如何获取参数a和b中的字符串?
def udf_func(a, b):
print(a + b)
return requests.get(a + b)
get = udf(udf_func, ByteType())
df = df.withColumn("output", get(col("colA"), col("colB")))
感谢
您可以如下修改您的函数:
def udf_func(a, b): return requests.get(a + b)
get = udf(lambda a,b : udf_func(a,b), ByteType())
df = df.withColumn("output", get(col("colA"), col("colB")))
我不相信你可以在udf中打印值,因此我已经删除了它,但这应该对你有效。