我知道有一个名为expr的函数,它使用该表达式将spark sql转换为spark列:
>>> from pyspark.sql import functions as F
>>> F.expr("length(name)")
Column<b'length(name)'>
有没有一个函数可以做相反的事情--把你的列转换成pyspark的sql字符串?类似于:
>>> F.inverse_expr(F.length(F.col('name')))
'length(name)'
我发现列的__repr__
让您了解列表达式是什么(就像Column<b'length(name)'>
一样,但如果没有一些繁琐的解析和字符串替换,它似乎不能以编程方式使用。
发布于 2020-08-12 11:04:02
在scala中,我们可以使用column#expr
来获取sql类型的表达式,如下所示-
length($"entities").expr.toString()
// length('entities)
在火花源里-
print(F.length("name")._jc.expr.container)
# length(name)
https://stackoverflow.com/questions/63374407
复制相似问题