AzureDataLakeGen2存储中的Parquet与Delta格式

我正在将事实表和维度表从 SQL Server 导入到 Azure Data Lake Gen 2。

如果我要整理表格以创建对在 Azure Databricks 上运行 ML 模型有用的数据集,我应该将数据保存为“Parquet”还是“Delta”?

存储为 parquet 和 delta 有什么区别?

回答

Delta 将数据存储为镶木地板,只是在其上增加了一层具有高级功能的附加层,提供事件历史记录(事务日志)以及更灵活地更改内容,例如更新、删除和合并功能。这个链接增量很好地解释了文件的组织方式。

一个缺点是它可能会在大量更新时变得非常碎片化,这可能对性能有害。由于 AZ Data Lake Store Gen2 无论如何都没有针对大型 IO 进行优化,这并不是一个大问题。虽然对镶木地板格式进行了一些优化,但这种方式不会很有效。

我会使用 delta,只是为了高级功能。如果存在数据随时间更新而不仅仅是追加的场景,这将非常方便。特别好的功能,您可以在它们存在的给定时间点读取增量表。

SQL 语法

这对于拥有一致的训练集非常有用(始终拥有相同的训练数据集,而无需分离到单独的镶木地板文件)。如果 ML 模型将 delta 格式作为输入处理可能会出现问题,因为可能只有少数框架能够直接读取它,因此您需要在某些预处理步骤中对其进行转换。


以上是AzureDataLakeGen2存储中的Parquet与Delta格式的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>