많은 열이있는 스파크 데이터 프레임이 있습니다. 이제 저는 그것들을지도에 결합하고 새로운 열을 만들고 싶습니다. 예 :스파크 데이터 프레임 열을 맵 열에 포함시키는 방법은 무엇입니까?
df.withColumn("newcol", struct(df.columns.head, df.columns.tail: _*))
그러나, 나는 여전히 dataset
df 명령 변환해야합니다 :이 작업을 수행하는
col1:String col2:String col3:String... coln:String =>
col: Map(colname -> colval)
한 가지 방법이다. 나는 struct
타입과 일치 할 수있는 케이스 클래스를 정의하는 방법을 모른다.
또 다른 옵션은지도 유형에 항목을 삽입하는 것이지만이를 표현하는 방법을 모르겠습니다.
데이터 프레임에 몇 행이 있습니까? –
약 40이고, 하나씩 나열하는 것은 지루합니다. – user3162587
나는 그 질문을 이해하지 못합니다. 'Map (colname -> colval)''colval'은'colname'에있는 모든 값의 배열이어야합니까? 그리고 여러분이 제공 한 방법은 각 행을 구조체로 가져옵니다. 위에 설명 된 내용과 정확히 일치하지는 않습니다. 샘플 데이터 세트와 필요한 출력을 자세히 설명해 주실 수 있습니까? – philantrovert