我有两个像这样的数据框
student_rdf = (studentid, name, ...)
student_result_rdf = (studentid, gpa, ...)
我们需要加入这两个数据帧。我们现在这样做,
student_rdf.join(student_result_rdf, student_result_rdf["studentid"] == student_rdf["studentid"])
所以很简单。但是它会在工作节点之间创建大量数据,但是由于连接键是相似的,并且如果数据帧可以(理解partitionkey)使用该键(studentid)进行分区,那么根本不应该进行任何混乱。由于类似的数据将驻留在类似的节点中。可能吗?
当我从input.And读取数据帧时,我找到了基于列分区数据的方法。如果Spark有可能理解两个数据帧的两个分区键是相似的,那么如何?