Spark-Mongdb Join性能

时间:2018-11-15 14:46:35

标签: mongodb apache-spark pyspark

我有两个mongodb集合,每个集合都有数百万条记录(例如:每个都有30 GB)。 将数据帧加载到spark后,我试图对数据执行联接。 我注意到的是,在这种情况下,spark会延迟加载。 (转化/动作场景)

我的pyspark代码看起来像这样

df1=spark.read.format("com.mongodb.spark.sql.DefaultSource").option("uri",con).load()
df2 = spark.read.format("com.mongodb.spark.sql.DefaultSource").option("uri",con2).load()
res = df1.join(df2,df1.xyz = df2.xyz, "inner")

现在,所有这些行都会立即“几乎”执行。但是,当我跑步时。

res.show()

执行需要一段时间。我的评估是该联接是在mongodb中进行的,而不是火花。

是否有任何方法可以避免延迟加载,并确保两个数据帧都在Spark中,并且联接在Spark中进行。 (我正在尝试研究在mongodb和spark上加入数据之间是否有任何明显的区别)

0 个答案:

没有答案