簡體   English   中英

在Spark和Spark Broadcast變量中處理Hive查找表

[英]Processing Hive Lookup tables in Spark vs Spark Broadcast variables

我有兩個數據集,名稱分別為dataset1dataset2dataset1就像

empid  empame
101    john
102    kevin

dataset2就像

empid  empmarks  empaddress
101      75        LA
102      69        NY

dataset2將非常龐大,我需要對這兩個數據集進行一些運算,並且需要從上述兩個datasets獲取結果。 據我所知,現在我有兩個選擇來處理這些數據集:

1.將數據集1 (較小的數據集)存儲為配置單元查找表,並必須通過Spark處理它們

2.通過使用Spark廣播變量,我們可以處理這些dataset

任何人都可以建議我哪個是更好的選擇。

這應該比上面提到的兩個選項更好。

由於您具有公共密鑰,因此可以進行內部聯接。

dataset2.join(dataset1, Seq("empid"), "inner").show()

您也可以像這樣使用broadcast功能/提示。 這意味着您要告訴框架,應將小型數據框(即dataset1)廣播給每個執行者。

import org.apache.spark.sql.functions.broadcast
dataset2.join(broadcast(dataset1), Seq("empid"), "inner").show()

另請參閱以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM