Hadoop 在Spark与Spark广播变量中处理配置单元查找表

Hadoop 在Spark与Spark广播变量中处理配置单元查找表,hadoop,apache-spark,dataframe,spark-dataframe,lookup,Hadoop,Apache Spark,Dataframe,Spark Dataframe,Lookup,我有两个数据集名称dataset1和dataset2和dataset1类似 empid empame 101 john 102 kevin empid empmarks empaddress 101 75 LA 102 69 NY 而dataset2就像 empid empame 101 john 102 kevin empid empmarks empaddress 101 75

我有两个数据集名称
dataset1
dataset2
dataset1
类似

empid  empame
101    john
102    kevin
empid  empmarks  empaddress
101      75        LA
102      69        NY
dataset2
就像

empid  empame
101    john
102    kevin
empid  empmarks  empaddress
101      75        LA
102      69        NY
dataset2
将非常庞大,我需要处理这两个数据集上的一些操作,并需要从以上两个
数据集
获得结果。 据我所知,现在我有两种选择来处理这些数据集:

1.将数据集1(大小较小)存储为蜂巢查找表,并必须通过Spark对其进行处理

2.通过使用Spark广播变量,我们可以处理这些
数据集


任何人请告诉我哪一个是更好的选择。

这应该是比上面提到的两个更好的选择

因为您有公共密钥,所以可以进行内部连接

dataset2.join(dataset1, Seq("empid"), "inner").show()
您也可以像这样使用
broadcast
函数/提示。这意味着您要告诉框架,应该向每个执行者广播小数据帧,即dataset1

import org.apache.spark.sql.functions.broadcast
dataset2.join(broadcast(dataset1), Seq("empid"), "inner").show()
另外,请查看以了解更多详细信息

  • 广播连接将如何工作


现在这些数据集出现在蜂巢或文本文件中?出现在文本文件中添加了导入功能,用于
广播
看看这个@Ram Ghadiyaram,你能分享你的电子邮件id或skype id吗?这样我就可以清楚地解释我的问题了