Spark dataframe выбор столбца из строки

#scala #apache-spark

#scala #apache-spark

Вопрос:

Привет, я хочу создать df с одним столбцом из df с несколькими столбцами. Смотрите этот псевдокод:

 df=[(id1,text),(id2,text2),...] //df where each row has two columns "id","text"
id_column=df.map(row=>row._1)
  

Как я могу это сделать в spark??

Ответ №1:

Вы можете сделать это с помощью select

 val df : DataFrame=[(id1,text),(id2,text2),...] //df where each row has two columns "id","text"

val dfResult: DataFrame = df.select("id")
  

Если вы не знаете имя столбца и не знаете позицию, вы также можете сделать:

 df.select(aux.columns(0))
  

Ответ №2:

Нашел!! Чего я хотел, так это:

 having a df like:
| id | text  |
| 1  |  bla1 |     
| 2  | foo   |
//real scala/spark code...
just_ids=df.map(row=>row.getAs[Int](0))
  

Комментарии:

1. Создание df не включает .show. Например, вторая строка не приводит к df.

2. На самом деле ваше намерение неясно, поскольку вы делаете это обоими способами.