【发布时间】:2021-12-25 00:28:49
【问题描述】:
我有一个关于将增量数据插入分区表的最佳做法的问题。目前我有一个按天分区的历史表,我有另一个 sql 生成具有最近两天数据的同一个表。这是一个示例历史表和增量表 -
tbl1:历史
| day | sales |
|---|---|
| 2021-01-01 | 10 |
| 2021-01-02 | 15 |
| 2021-01-03 | 12 |
| 2021-01-04 | 10 |
tbl2:增量表(截至 2021 年 1 月 6 日)
| day | sales |
|---|---|
| 2021-01-04 | 25 |
| 2021-01-05 | 20 |
tbl1:预期输出:
| day | sales |
|---|---|
| 2021-01-01 | 10 |
| 2021-01-02 | 15 |
| 2021-01-03 | 12 |
| 2021-01-04 | 25 |
| 2021-01-05 | 20 |
我尝试了insert into 和insert overwrite,但似乎insert into 不会替换现有的1/4 数据,但会添加额外的行并创建重复项,而insert overwrite 将删除1/ 中的所有数据1 到 1/3。
我写的示例代码:
INSERT INTO tbl1 PARTITION (day) SELECT * FROM tbl2
【问题讨论】:
标签: sql etl databricks