我正在从 Azure 数据工厂访问 Databricks Delta 表,它没有与 Databricks 表的本机连接器。因此,作为一种解决方法,我使用 LOCATION 关键字创建表以将它们存储在 Azure Data Lake 中。然后,由于我知道表格文件的位置,我只需从数据工厂读取底层 Parquet 文件。这工作正常。
但是……如果 Delta 事务日志中有缓存信息还没有写入磁盘怎么办?比如说,一个应用程序更新了表中的一行,而磁盘还没有反映这个事实。那么我从数据工厂中读取的内容将是错误的。
那么,两个问题...
- 这会发生吗?在被写出之前,更改是否会在日志中保留一段时间?
- 我可以强制刷新事务日志,以便我知道磁盘副本已更新吗?