[SCALA] 왜 쇼 운영자 후 불가능 가입?
SCALA왜 쇼 운영자 후 불가능 가입?
내가 AGG 후 공연을 추가 할 때까지 다음 코드는 잘 작동합니다. 왜 표시 할 수 없습니다?
val tempTableB = tableB.groupBy("idB")
.agg(first("numB").as("numB")) //when I add a .show here, it doesn't work
tableA.join(tempTableB, $"idA" === $"idB", "inner")
.drop("idA", "numA").show
이 오류는 말합니다 :
error: overloaded method value join with alternatives:
(right: org.apache.spark.sql.Dataset[_],joinExprs: org.apache.spark.sql.Column,joinType: String)org.apache.spark.sql.DataFrame <and>
(right: org.apache.spark.sql.Dataset[_],usingColumns: Seq[String],joinType: String)org.apache.spark.sql.DataFrame
cannot be applied to (Unit, org.apache.spark.sql.Column, String)
tableA.join(tempTableB, $"idA" === $"idB", "inner")
^
왜 이런 식으로 행동한다?
해결법
-
==============================
1..show () 우리 스칼라 부작용으로 부르는와 함수이다. 그것은 단지에 println처럼, stdout에 출력하고 단위 ()를 반환
.show () 우리 스칼라 부작용으로 부르는와 함수이다. 그것은 단지에 println처럼, stdout에 출력하고 단위 ()를 반환
예:
val a = Array(1,2,3).foreach(println) a: Unit = ()
스칼라에서는 모든 함수이며 뭔가를 반환한다고 가정 할 수있다. 귀하의 경우, 단위는 () 반환되는 tempTableB에 저장하기 무슨이의.
-
==============================
2.@philantrovert 이미 많은 상세한 설명과 함께 대답했다한다. 그래서 나는 설명하지 않는다.
@philantrovert 이미 많은 상세한 설명과 함께 대답했다한다. 그래서 나는 설명하지 않는다.
당신이 그것을 아래로 할당 한 후 tempTableB에서 무슨 일이 당신이 그렇게 할 수 있습니다보고 싶은 경우에 당신이 할 수 있습니다.
val tempTableB = tableB.groupBy("idB") .agg(first("numB").as("numB")) tempTableB.show tableA.join(tempTableB, $"idA" === $"idB", "inner") .drop("idA", "numA").show
그런 다음 작업을해야
from https://stackoverflow.com/questions/45322005/why-is-join-not-possible-after-show-operator by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라 컴파일 속도 대 자바 컴파일 속도 (0) | 2019.11.13 |
---|---|
[SCALA] 정규식 사용주는 문자열에서 양을 얻을 [중복] (0) | 2019.11.13 |
[SCALA] : 액션 구성을 구현하는 방법 (0) | 2019.11.13 |
[SCALA] 스칼라 루비 #tap 방법 상당 [중복] (0) | 2019.11.13 |
[SCALA] 스칼라 정규식 일치 자바 하나의 성공, 실패 (0) | 2019.11.13 |