使用另一个表中的信息更新聚合表

时间:2018-01-10 16:38:25

标签: scala apache-spark apache-spark-sql spark-dataframe

我有一个聚合表,需要经常从每隔几个小时由新数据生成的表中更新。以来 聚合表每次更新都会增长很多,我需要一种有效的方法来更新聚合表。 有人可以告诉我如何将新表中的信息合并到聚合表中,如下所示吗?

例如

val aggregate_table = Seq(("A", 10),("B", 20),("C", 30),("D", 40)).toDF("id", "total")
| id  | total |
|-----+-------|
| "A" |    10 |
| "B" |    20 |
| "C" |    30 |
| "D" |    40 |

val new_info_table = Seq(("X"),("B"),("C"),("B"),("A"),("A"),("C"),("B")).toDF("id")
| id  |
|-----|
| "X" |
| "B" |
| "C" |
| "B" |
| "A" |
| "A" |
| "C" |
| "B" |

与aggregate_table合并后产生的aggregate_table new_info_table

 aggregate_table
| id  | total |
|-----+-------|
| "A" |    12 |
| "B" |    23 |
| "C" |    33 |
| "D" |    40 |
| "X" |     1 |

0 个答案:

没有答案