Pyspark的别名

问题描述 投票:0回答:1

我最近一直在看pyspark的代码,我看到的是 alias 很多时候。但我并不真正理解它是如何使用的以及它的含义。所以我想知道是否有人能解释一下它是如何在下面的两个例子中工作的。

df.select(from_unixtime(unix_timestamp(df.Date_col, 'yyyy-MM-dd HH:mm:ss')).alias('dt_col'))

df.select([count(when(isnan(c), c)).alias(c) for c in df.columns]).show()
python apache-spark pyspark apache-spark-sql alias
1个回答
0
投票

别名是继承自 SQL 语法。这是在查询中重命名一个变量的方法(例如,一个 select). 它避免了创建一个你没有选择的临时名称,然后不得不在之后用类似于 withColumnRenamed.

例如:

df.select([count(when(isnan(c), c)).alias(c) for c in df.columns]).show()

确保counter操作的结果将返回一个新的变量,其名称与在 df 对象。否则,你最终会得到一个名为 count(col1)...哪里 col1 是初始变量名。

在执行聚合时,别名是非常有用的。

在同样的方式下。

df.select(from_unixtime(unix_timestamp(df.Date_col, 'yyyy-MM-dd HH:mm:ss')).alias('dt_col'))

是一种简洁的方式。

df.withColumn('dt_col', from_unixtime(unix_timestamp(df.Date_col, 'yyyy-MM-dd HH:mm:ss')).select('dt_col')
© www.soinside.com 2019 - 2024. All rights reserved.