pyspark的expr有反函数吗?

e5nqia27  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(648)

我知道有一个名为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)'> ,但它似乎不可用的编程,没有一些黑客解析和字符串替换。

bq9c1y66

bq9c1y661#

在scala中,我们可以使用 column#expr 获取sql类型表达式,如下所示-

length($"entities").expr.toString()
// length('entities)

在Pypark-

print(F.length("name")._jc.expr.container)

# length(name)

相关问题