Spark 2에서 이러한 문제를 해결하려고하지만 솔루션을 찾을 수 없습니다. Spark - 데이터 프레임에 정의 된 규칙을 다른 데이터 프레임에 적용하는 방법
은 내가 dataframe을 가지고 :+----+-------+------+
|id |COUNTRY| MONTH|
+----+-------+------+
| 1 | US | 1 |
| 2 | FR | 1 |
| 4 | DE | 1 |
| 5 | DE | 2 |
| 3 | DE | 3 |
+----+-------+------+
그리고dataframe의 B :
+-------+------+------+
|COLUMN |VALUE | PRIO |
+-------+------+------+
|COUNTRY| US | 5 |
|COUNTRY| FR | 15 |
|MONTH | 3 | 2 |
+-------+------+------+
아이디어가 순서대로 dataframe A를 dataframe의 B의 "규칙"을 적용하는 것입니다 이 결과를 얻으십시오 :
데이터 프레임 A ' : 0
+----+-------+------+------+
|id |COUNTRY| MONTH| PRIO |
+----+-------+------+------+
| 1 | US | 1 | 5 |
| 2 | FR | 1 | 15 |
| 4 | DE | 1 | 20 |
| 5 | DE | 2 | 20 |
| 3 | DE | 3 | 2 |
+----+-------+------+------+
나는 그런가 someting 시도 : dfB.collect.foreach(r =>
var dfAp = dfA.where(r.getAs("COLUMN") == r.getAs("VALUE"))
dfAp.withColumn("PRIO", lit(r.getAs("PRIO")))
)
을하지만 그것이 올바른 방법이 아니다 확신합니다.
Spark에서이 문제를 해결하기위한 전략은 무엇입니까?