时间旅行
Iceberg表格式支持的另一个关键功能是所谓的“时间旅行”。Iceberg提供了开箱即用的功能,可以查看一个表在过去不同时间点的样子。
为了选择特定的表快照或某个时间点的快照,Iceberg支持两个Spark读选项:
- (1) snapshot-id:选择一个特定的表快照。
- (2) as-of-timestamp:选择某个时间戳(以毫秒为单位)的当前快照。
用户可以查看某个表的snapshots快照元数据表来查看该表的快照信息。例如,要查看hadoop_prod.my_db.phones表的所有快照,代码如下:
// 查看所有的快照 spark.sql("select * from hadoop_prod.my_db.phones.snapshots").show()
可以得到的输出信息如图11-36所示。
可以只选取部分字段以查看完整的提交时间,代码如下:
spark.sql("select * from hadoop_prod.my_db.phones.snapshots") .select("committed_at","snapshot_id","parent_id","operation") .show(false)......
......
抱歉,只有登录会员才可浏览!会员登录