如何提取雪花流之前加载的历史数据



我有一个名为table-a的表,它是一个原始数据表。

在此处输入图像描述

表A

EMPID ENAME SAL REC_CREATED

101 ABC 100 20-11-2021 02:20

102 DEF 125 21-11-2021上午10:35

在2条记录之后,需求发生了变化,我在表A上创建了流,将它们加载到我的目标表中,即表B。

有没有办法我可以从表a中提取前2条记录(历史(,将它们插入表B,因为流将只从表a提取新记录(empid 103以后(。?任何帮助都将不胜感激。

您可以查询带有偏移量的表A,这样返回的结果将是当时的样子。例如,下面将返回5分钟前的

select * from table_a at(offset => -60*5);

我发现的另一个技巧是能够在不消耗数据的情况下存储以前在流中的所有数据。因此,在使用流数据之前,您可以执行以下操作

SELECT * FROM my_stream;
INSERT INTO my_table select * from table(result_scan(last_query_id()));

您还可以在表a上设置第二个流,该流只有在您需要查看以前的数据时才会被消耗

最新更新