我正在探索 DataBricks Delta 表及其时间旅行/时间特性。我有一些过去发生的事件数据。我正在尝试将它们插入到增量表中,并且能够使用数据中的时间戳而不是实际的插入时间进行时间旅行。
我的活动中有一个日期/时间列。我将它重命名为“时间戳”,但它仍然不起作用。
我的 csv 数据如下所示:(数据显示 5 次更新发生在 id=1000 的单个案例中)
account_id,id,case_id,case_status,owner,department,priority,created_at,timestamp
2114809,1000,ABC-121,1,200,300,1,2020-01-01T08:00:00.000000-07:00,2020-01-01T08:00:00.000000-07:00
2114809,1000,ABC-121,2,200,300,3,2020-01-01T08:00:00.000000-07:00,2020-01-01T09:00:00.000000-07:00
2114809,1000,ABC-121,3,200,300,3,2020-01-01T08:00:00.000000-07:00,2020-01-03T13:00:00.000000-07:00
2114809,1000,ABC-121,3,201,300,3,2020-01-01T08:00:00.000000-07:00,2020-01-12T14:00:00.000000-07:00
2114809,1000,ABC-121,4,201,300,3,2020-01-01T08:00:00.000000-07:00,2020-01-13T10:00:00.000000-07:00
我使用这些命令来创建增量表:
DROP TABLE IF EXISTS cases;
DROP TABLE IF EXISTS temp_cases;
CREATE TABLE temp_cases
USING csv
OPTIONS (path "/FileStore/tables/cases/test_cases.csv", header "true", inferSchema "true");
CREATE TABLE cases
USING delta
AS SELECT * FROM temp_cases;
DROP TABLE IF EXISTS temp_cases;
我有两个问题:
- 如何将数据迁移到增量表中,并且仍然保留数据中的时间戳而不是插入的时间戳来执行时间旅行?
- 创建增量表时如何指定主键或复合主键。