왜 이것이 작동하지 않는 지 잘 모릅니다. 내 사례 클래스에 매핑하는 대신 튜플을 반환하면 올바르게 작동합니다. 그렇지 않으면 아래 오류가 발생합니다.데이터 집합에서 사례 클래스로 매핑 할 때 오류가 발생했습니다.
case class WinRate(name: String, played: Int, wins: Int, losses: Int)
val winners = df.select($"winning_heroes").map(row => {
row.getList[String](0).toList().map(x => {
WinRate(x, 1, 1, 0)
})
}).flatMap(x => x)
오류 :하지 방법에 대한 충분한 인수가 적용됩니다 (n은 INT) 특성 LinearSeqOptimized의 문자열입니다. 지정되지 않은 값 매개 변수 n.
_ 무엇을하고 계십니까? 'map'과'flatMap'을하는 것은 ... 매우 좋았습니다. 요즘은 Spark SQL이 얼마나 많은 돈을 쏟아 부 었는지 (cf. 표준 함수 참조) 말입니다. –
데이터베이스에 문자열 배열 필드가 있습니다. 그래서, 나는 그 중 하나에 대해 문자열을 추출하고 위의 사례 클래스를 수행하려고하는 튜플을 생성합니다. 그렇다면 나는 .groupBy를하고 합계로 승리율을 얻는다. 내가 터플로 작업하게 만들었고, 케이스 클래스로 처리하기를 원했다. 조금 더 읽기 쉽고 읽기 쉽기 때문이다. 나는 스칼라에 대해 꽤 새로울 것이므로 아마도 그것을하는 더/더 관용적 인 방법이있을 것이다. –
'df.printSchema'를 포함하도록 질문을 편집하면 질문을 쉽게 대답 할 수 있습니다. 감사. –