常见问题解答(FAQ)

在本文中:

什么是Delta Lake?

Delta Lake是一个开源存储层,为数据湖带来可靠性。Delta Lake提供ACID事务、可扩展的元数据处理,并统一了流式和批处理数据处理。Delta Lake运行在您现有的数据湖之上,并与Apache Spark API完全兼容。

Delta Lake 使用什么格式存储数据?

Delta Lake使用版本化的Parquet文件将数据存储在您的云存储中。除了版本控制外,Delta Lake还维护一个事务日志,用于追踪对表或blob存储目录所做的所有提交,以提供ACID事务支持。

如何使用Delta Lake读写数据?

您可以使用您喜欢的Apache Spark API来读写Delta Lake数据。请参阅读取表写入表

Delta Lake 存储数据的位置在哪里?

写入数据时,您可以指定云存储中的位置。Delta Lake会以Parquet格式将数据存储在该位置。

可以将Delta Lake表复制到另一个位置吗?

是的,您可以将Delta Lake表复制到另一个位置。请记住在不更改时间戳的情况下复制文件,以确保基于时间戳的时间旅行功能保持一致。

能否直接将数据流式传输到Delta表或从中读取?

是的,你可以使用结构化流式处理(Structured Streaming)直接将数据写入Delta表并从Delta表中读取数据。请参阅将数据流式传输到Delta表从Delta表流式传输数据

使用Delta Lake时,能否轻松将代码移植到其他Spark平台?

是的。当您使用Delta Lake时,您使用的是开源的Apache Spark API,因此可以轻松将代码移植到其他Spark平台。要进行代码移植,只需将delta格式替换为parquet格式即可。

Delta Lake 是否支持多表事务?

Delta Lake 不支持多表事务和外键。Delta Lake 支持级别的事务。

如何更改列的数据类型?

更改列的类型或删除列需要重写表。有关示例,请参阅更改列类型