/ / Jak korzystać z tablic nazw kolumn agaisnt wiersz danych w funkcji mapowania i utworzyć nowy DF - apache-spark, apache-spark-sql, spark-dataframe

Jak korzystać z tablic nazw kolumn, aby wyświetlać rząd danych w funkcji mapy i tworzyć nowe DF - apache-spark, apache-spark-sql, spark-dataframe

Mam DataFrame z 200 kolumn, z których stworzyłem Array df.columns,

podczas iteracji przez ramkę danych df, jak powiedzieć wierszowi, aby wybrać tylko kolumny z wiersza i utworzyć nową ramkę danych.

val df = df1.join.df2

val colNames = df.columns

df.map {  row =>

**val createnewDF = (row(colNames)**


}

Jak utworzyć poniższą linię?

**val createnewDF = (row(colNames)**

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli zamierzasz wybrać tylko ograniczoną liczbę columns od twojego złączonego dataframe następnie musisz utworzyć array nazw kolumn i ich użycia select metoda jako

val colNames = Array("col1", "col2", "col4")
import org.apache.spark.sql.functions._
val createnewdf = df.select(colNames.map(col): _*)

df.columns wybierze wszystkie nazwy kolumn w array i nie widzę żadnego zastosowania wyboru kolumn wewnątrz pętli dataframe rows jak to dataframe już ma wszystkie kolumny.

Co więcej, możesz zmienić wartości wybranych kolumn w pętli wierszy. Ale pętla dataframe rows nie jest zalecane, chyba że wbudowana funkcja nie jest zdefiniowany.