通过 Apache Zeppelin深入了解Delta Lake


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的内部机制有所帮助。