根据另一个 table spark sql 计算每一行

calculate each row based on another table spark sql

我有一个要求,我需要计算我的数据框中的列。对于大数据帧的每一行,我需要将 from 和 to 与另一个数据帧 flagdate 计算一个新列。

基本上第二个 table 是查找 table 需要用来执行我的计算。我可以看到发生了很多洗牌,这反过来又影响了工作表现。 例如: Large_DF

+------+----------+----------+

|地点 |从 |到 |

+------+----------+----------+

| A|2016-03-31|2016-03-31|
| A|2016-02-28|2016-02-30|
| A|2016-01-31|2016-02-11|
| B|2014-12-31|2015-01-10|
+------+------------+----------+

+------+----------+----------+

|地点 |日期 |标志 |

+------+----------+----------+

| A|2016-03-31|是|
| A|2016-02-11|否 |
| A|2016-02-11|是|
| B|2015-01-10|否|
+------+------------+----------+

我正计划加入 Loc 上的大型 table。查找 table 没有更新,而且很小。关于如何以最佳方式执行此操作的任何建议。

您可以提示 Spark SQL 应该在加入之前通过在 DataFrame 上调用广播来广播给定的 DF 以进行加入,例如,

df1.join(broadcast(df2),"key")

广播table是小的

也就是说,你确定加入条件没问题吗?