在我的组织中,我们使用 AWS 和 Azure 来执行各种数据处理任务。数据在 AWS 中收集和聚合,然后传输到 Azure 进行 BI 分析和报告。
传入数据每天通过更新插入聚合到增量表中。每个表的大小为数十 TB,每个表有数十亿条记录,并以这样的方式进行分区:每个分区在大小优化的文件中为数十 GB(使用 delta 的 OPTIMIZE 命令)。
这些聚合表的每日更新量仅为几百兆字节,但是每天都可以更新大量记录,很容易达到表记录的 50%。
由于各种技术和非技术原因,我们无法在分析工具链中直接使用 Azure 中的 S3 中的表,因此我们必须在 Azure 中维护聚合数据的副本。今天,我们每天将聚合表从 AWS 复制到 Azure,从而产生大量的数据提取成本。
有没有办法设置从AWS到Azure的复制,这样我们就不必不断复制整个表?使用像 Spark Streaming 这样的东西,我可能可以优化只复制受影响的行的过程,但这仍然意味着我们必须复制受每日更新影响的 50% 的行。数据还是很多的。由于只更新了几个字段,有没有一种方法可以有一个仅在字段级别复制更新数据的流程?
看看深度克隆,它是增量复制