增量更新与时间旅行
Delta Lake支持增量更新。Delta Lake使用事务日志存储数据湖元数据,通过事务日志,用户可以在给定的时间点进行时间旅行和数据探索。下面通过一个示例来演示Delta Lake中的时间旅行特性。
首先,从下面这个CSV文件创建一个Delta Lake。people.csv文件内容如下:
first_name,last_name,country miguel,cordoba,colombia luisa,gomez,colombia li,li,china wang,wei,china hans,meyer,germany mia,schmidt,germany
接下来,使用Spark SQL API读取这个CSV文件到一个DataFrame中,然后将该DataFrame作为一个Delta数据湖写出。代码如下:
val path = "/data/data_lake/delta_lake/people.csv"
val outputPath = "/data_lake/delta_lake/person_delta_lake"
spark
.read
.option("header", "true")
.option("charset", "UTF8")
.csv(path)
.repartition(1)
.write
.format("delta")
.mode(SaveMode.Overwrite)
.save(outputPath)
执行上面的代码后,再执行以下HDFS shell命令查看,命令如下:
$ hdfs dfs -ls -R /data_lak ......
......
抱歉,只有登录会员才可浏览!会员登录