通過 Apache Zeppelin深入瞭解Delta Lake

banq發表於2021-12-26

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的內部機制有所幫助。

 

相關文章