Delta Lake 是一个开源项目,可以在数据湖之上构建 Lakehouse 架构。网上有很多关于如何使用 Delta Lake 的教程。这个帖子有点不一样,是给那些想知道Delta Lake内部机制,特别是交易日志的人看的:以互动方式了解Delta Lake的内部机制。
可以查看这篇文章,了解如何在 Zeppelin docker 中玩 Spark。这里我简单总结为以下步骤:
- 步骤 1. git clone https://github.com/zjffdu/zeppelin-notebook.git
- Step 2. 下载Spark 3.1.2(这是我在本教程中使用的,不要使用Spark 3.2.0,目前尚不支持)
- 步骤 3. 运行以下命令启动 Zeppelin docker 容器。
docker run -u $( id -u ) -p 8080:8080 -p 4040:4040 --rm -v ${spark_location}:/opt/spark -v ${zeppelin_notebook}:/opt/notebook -e ZEPPELIN_NOTEBOOK_DIR=/ opt/notebook -e SPARK_HOME = /opt/spark -e ZEPPELIN_LOCAL_IP=0.0.0.0 --name zeppelin apache/zeppelin:0.10.0
${zeppelin_notebook}是您在步骤 1 中克隆的 notebook 文件夹,
${spark_location}是您在步骤 2 中下载的 Spark 文件夹。
然后打开http://localhost:8080,点击页面上“Spark/Deep Dive into Delta Lake”,包含本文的所有代码。
。。。
详细点击标题见原文。
在本文中,主要通过 4 个步骤来玩 Delta Lake:
- 创建表
- 插入数据
- 更新数据
- 删除数据
在每个步骤中,我都会检查事务日志和数据文件中的更改内容。所有步骤均在Apache Zeppelin docker容器中完成,您可以轻松复现,希望本文对您了解Delta Lake的内部机制有所帮助。