【问题标题】:Alias in PysparkPyspark 中的别名
【发布时间】:2020-04-29 10:41:52
【问题描述】:

我最近一直在查看 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】:

    别名继承自SQL 语法。这是一种在查询中重命名变量的方法(例如select)。它避免了创建一个您没有选择的临时名称,并且之后必须使用 withColumnRenamed 之类的名称重命名变量。

    例如,

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

    确保计数操作的结果将返回一个与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')
    

    【讨论】:

      猜你喜欢
      • 2016-02-04
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      相关资源
      最近更新 更多