I am using spark-sql-2.4.3v with java.
I have scenario below
val data = List(
("20", "score", "school", 14 ,12),
("21", "score", "school", 13 , 13),
("22", "rate", "school", 11 ,14),
("23", "score", "school", 11 ,14),
("24", "rate", "school", 12 ,12),
("25", "score", "school", 11 ,14)
)
val df = data.toDF("id", "code", "entity", "value1","value2")
df.show
//this look up data populated from DB.
val ll = List(
("aaaa", 11),
("aaa", 12),
("aa", 13),
("a", 14)
)
val codeValudeDf = ll.toDF( "code", "value")
codeValudeDf.show
I need to map "code" with "value" in the final output, only for those rows/records which has "code" as "score" in the "data" dataframe.
How can i make a look up hashmap from codeValudeDf , so that I can get output as below
+---+-----+-------+------+-----+
| id| code|entity|value1|value2|
+---+-----+-------+------+-----+
| 20|score|school| a| aaa|
| 21|score|school| aa| aa|
| 22| rate|school| 11| 14|
| 23|score|school| aaaa| a|
| 24| rate|school| 12| 12|
| 25|score|school| aaaa| a|
+---+-----+------+------+------+
Is there any possibility to make this look up optimum i.e. every time i should not pull the dataframe data from DB ??
See Question&Answers more detail:
os