增量更新与时间旅行
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 ............
抱歉,只有登录会员才可浏览!会员登录