Databricks から Delta Lake というモジュールがリリースされました。これは Databricks で提供している Delta という Transactional なストレージの一部を OSS として公開したようです。このモジュールは現在 Spark に対応しています。 この Delta のトランザクションの仕組みが気になったので、GitHub に公開されているコードを clone し、データを append / overwrite するテストコードを動かしてトランザクションがどのような仕組みで実現されているか調べてみました。 Setup 公開されたコードは GitHub にあります。Scala が動く環境であればテストコードを動かすことはできます。Windows の場合は winutils が必要です。 package は org.apache.spark.sql.de