pyspark-sql:打印表达式的别名

Posted

技术标签:

【中文标题】pyspark-sql:打印表达式的别名【英文标题】:pyspark-sql: print alias of an expression 【发布时间】:2019-03-06 22:45:21 【问题描述】:

在 pyspark 中我有以下内容:

import pyspark.sql.functions as F
cc = F.lit(1).alias("A")

print(cc)
print(cc._jc.toString())

我明白了:

Column<b'1 AS `A`'>
1 AS `A`

有什么方法可以让我从 cc 打印“A”吗?看来我无法轻松提取别名。

另外我认为在 scala 的 spark-sql 中,如果我打印“cc”,它只会打印“A”

【问题讨论】:

这篇文章将引导您朝着正确的方向前进***.com/questions/39746752/…。但是,根据文档和这个答案,如果不解析“AS”等,似乎没有办法做到这一点。 【参考方案1】:

这深入到未映射到 Python 的 Column Scala 数据模型:

cc._jc.named().name()

这是Alias 实例的name 参数。

【讨论】:

以上是关于pyspark-sql:打印表达式的别名的主要内容,如果未能解决你的问题,请参考以下文章

PYSPARK:如何将带有多个 case 语句的 SQL 查询转换为 Pyspark/Pyspark-SQL?

我创建了一个文件来访问所有全局变量。我无法访问 pyspark-sql 查询中定义的 UDF 中的全局变量

如何为 Spark SQL 中的posexplode 列提供别名?

您可以在 Spark/Hadoop 中将 s3:// 翻译(或别名)为 s3a:// 吗?

是否可以在 spark sql 中以编程方式对列进行别名?

如何从Spark中的聚合结构对象中删除“ col1”别名?