0
간단한 단어 카운트 유형을 수행하기 위해 스캘링을 사용하고 있습니다. 튜플을 확장하기 위해 부분 함수를 사용할 때 오류가 발생합니다. 정확한 오류 메시지는 다음과 같습니다.Scalding : 부분 함수로 줄일 수 없습니다.
Error:(15, 14) missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: (?, ?) => ?
.reduce{ case ((t1, v1), (t2, v2)) =>
^
튜플에 유형을 추가해도 도움이되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
TypedPipe.from(PackedAvroSource[TrackPlay](args("input")))
.map({ t => (t.getTrackId.toString, 1) })
.groupBy(_._1)
.reduce{ case ((t1, v1), (t2, v2)) =>
(t1, v1 + v2)
}
.values
.write(TypedTsv[(CharSequence, Int)](args("output")))
내 방식이 작동하지 않는 이유 당신은 응답하지 않는 . 튜플을 확장하려면 case 문을 사용할 수 있어야합니다. 이 작업을 수행 할 수있는 방법은 여러 가지가 있으며 case 문과 함께 reduce가 작동하지 않는 이유를 알고 싶습니다. 감사! – Mayumi
@Mayumi 나는 나의 대답을 업데이트했다 : –
명확한 대답을 위해 대단히 감사합니다! – Mayumi