分区演变示例

本节通过一个应用示例来深入理解Iceberg的分区演变及其底层实现过程。该应用示例模拟了如下的业务场景:

某公司(暂且称为X公司)从2008年开始,开发软件业务,拓展客户和市场。其日志事件数据是按月分区存储在Iceberg数据湖中。随着业务的发展,日志事件信息发生的越来越频繁。公司决定,从2009年开始,将日志事件按天进行分区存储。为此,开发如下代码来完成这个场景。

为了简单起见,本示例使用一个简单的数据集logdata.csv,它模仿X公司开发的某些软件产品的日志表,包含三个字段列,分别为ts、log_id和log_msg。注意,数据中的ts列显示为与UNIX时间戳(以秒为单位)对应的long数据类型。

数据集logdata.csv文件内容如下:

1225526400,1,a
1225699200,2,b
1225785600,3,c
1226476800,4,d
1226908800,5,e
1226995200,6,f
1227513600,7,g
1227772800,8,h
1228032000,9,i
1228118400,10,j
1228377600,11,k
1228809600,12,l
1228982400,13,m
1229673600,14,n
1230019200,15,o
1230278400,16,p
1230451200,17,q
1230624000,18,r
1230710400,19,s
1230796800,20,t
1230969600,21,u
1231747200,22,v
1232352000,23,w	
1232784000,24,x
1233216000,25,y
1233302400,26,z

继续使用HadoopCatalog类型的catalog,基于Hadoop路径。名为hadoo ......

......

抱歉,只有登录会员才可浏览!会员登录


《PySpark原理深入与编程实战》