Что делает звездочка в col ("*") в Spark? - PullRequest
0 голосов
/ 13 января 2020

В примере на этой странице, что такое col("*")? Я не могу найти никакого объяснения.

Означают ли следующие коды создание нового кадра данных путем выбора всех (*) столбцов и нового столбца "new_gender"?

val df4 = df.select(col("*"), when(col("gender") === "M","Male")
      .when(col("gender") === "F","Female")
      .otherwise("Unknown").alias("new_gender"))

Ответы [ 2 ]

1 голос
/ 13 января 2020

В данном коде результирующий фрейм данных содержит все столбцы и новый столбец new_gender на основе предоставленных логи c.

col ("*"): выберите все столбец в кадре данных.

Следующие возвращаемые значения True:

df.select(col("*")).schema == df.schema
0 голосов
/ 13 января 2020

col(*) выбирает все столбцы

В вашем примере это получение всех столбцов и создание нового с именем new_gender со значениями Male, Female или Unknow, зависящими от гендерного столбца

ВХОД

df.show
+------+---+----------+
|gender|age|birthplace|
+------+---+----------+
|     M| 34|       USA|
|     F| 14|        UK|
|     M| 12|     Spain|
+------+---+----------+

ВЫХОД

+------+---+----------+----------+
|gender|age|birthplace|new_gender|
+------+---+----------+----------+
|     M| 34|       USA|      Male|
|     F| 14|        UK|    Female|
|     M| 12|     Spain|      Male|
+------+---+----------+----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...