Псевдоним в Писпарке - PullRequest
0 голосов
/ 29 апреля 2020

Я недавно просматривал код 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()

1 Ответ

0 голосов
/ 29 апреля 2020

Псевдоним наследуется от синтаксиса 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...