将数据湖与已删除的记录同步

时间:2018-04-06 14:17:50

标签: apache-spark hadoop cassandra hdfs data-lake

我正在构建数据湖以集成多个数据源以进行高级分析。

在开始时,我选择HDFS作为数据湖存储。但我需要更新和删除数据源,我必须与data lake同步。

为了理解Data Lake的不可变特性,我将从数据源中考虑LastModifiedDate,以检测此记录是否已更新,并在Data Lake中以当前日期插入此记录。我们的想法是选择带有max(date)的记录。

但是,我无法理解如何

  1. 我会检测来自源的已删除记录以及我将使用Data Lake做些什么?
  2. 我应该使用像Cassandra这样的其他数据存储并执行删除命令吗?我担心它会失去不变的财产。
  3. 你可以建议我这种情况的良好做法吗?

1 个答案:

答案 0 :(得分:0)

通常,在Hadoop中创建datalake时,这始终是一个约束,不能只更新或删除其中的记录。您可以尝试一种方法

  1. 添加lastModifiedDate时,还可以添加一个列命名状态。如果删除记录,请将状态标记为已删除。因此,下次当您想查询最新的活动记录时,您将能够将其过滤掉。

  2. 如果您每天都在执行ACID操作,也可以使用cassandra或Hbase(任何nosql数据库)。如果没有,第一种方法将是您在Hadoop中创建数据池的理想选择