Burak Yavuz, et al, explain how the transaction log works with Delta Tables in Apache Spark:
When a user creates a Delta Lake table, that table’s transaction log is automatically created in the
_delta_logsubdirectory. As he or she makes changes to that table, those changes are recorded as ordered, atomic commits in the transaction log. Each commit is written out as a JSON file, starting with000000.json. Additional changes to the table generate subsequent JSON files in ascending numerical order so that the next commit is written out as000001.json, the following as000002.json, and so on.
It’s interesting that they chose JSON instead of a binary transaction log like relational databases use.