[SCALA] 스칼라 스파크 DataFrame : dataFrame.select 여러 열은 열 이름의 순서를 부여
SCALA스칼라 스파크 DataFrame : dataFrame.select 여러 열은 열 이름의 순서를 부여
val columnName=Seq("col1","col2",....."coln");
지정된 dataframe 포함에만 열 이름을 얻을 수 dataframe.select 작업을 할 수있는 방법이 있나요. 나는 dataframe.select 할 수있어 ( "COL1", "COL2을"...) 하지만 columnNameis는 실행시에 생성. 나는 그것이 어떤 성능 오버 헤드를 가지고 loop.Will의 각 열에 이름을 반복적으로) dataframe.select을 (할 수있는? 이러한 목표를 달성하기 위해 다른 간단한 방법이 있나요?
해결법
-
==============================
1.
val columnNames = Seq("col1","col2",....."coln") // using the string column names: val result = dataframe.select(columnNames.head, columnNames.tail: _*) // or, equivalently, using Column objects: val result = dataframe.select(columnNames.map(c => col(c)): _*)
-
==============================
2.dataFrame.select ()가 컬럼의 순서를 기대하고 우리가 문자열의 순서를 가지고 있기 때문에, 우리는 COLS의 목록에 우리의 순서를 변환하고 순서에 그 목록을 변환해야합니다. columnName.map (NAME => COL (이름))) (* _ 문자열의 시퀀스의 열 순서를 부여하며,이 선택 파라미터로서 전달 될 수있다 :
dataFrame.select ()가 컬럼의 순서를 기대하고 우리가 문자열의 순서를 가지고 있기 때문에, 우리는 COLS의 목록에 우리의 순서를 변환하고 순서에 그 목록을 변환해야합니다. columnName.map (NAME => COL (이름))) (* _ 문자열의 시퀀스의 열 순서를 부여하며,이 선택 파라미터로서 전달 될 수있다 :
val columnName = Seq("col1", "col2") val DFFiltered = DF.select(columnName.map(name => col(name)): _*)
from https://stackoverflow.com/questions/36131716/scala-spark-dataframe-dataframe-select-multiple-columns-given-a-sequence-of-co by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 의 경우의 프로그램 무리에 스칼라 방법 (0) | 2019.11.27 |
---|---|
[SCALA] 기존 DataFrame 사용 withColumn에 두 개의 열을 추가 (0) | 2019.11.27 |
[SCALA] Scalatest - 테스트하는 방법에 println (0) | 2019.11.27 |
[SCALA] 스칼라에서; 나는 응용 프로그램의 특성을 사용해야합니까? (0) | 2019.11.27 |
[SCALA] 스칼라 - 가변 (VAR)에있어서의 파라미터를 참조 (0) | 2019.11.27 |