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

标签 apache-spark hadoop cassandra hdfs data-lake

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

首先,我选择HDFS作为数据湖存储。但是我需要更新和删除数据源,而这些数据源必须与数据湖同步。

为了了解Data Lake的不变性,我将考虑Data Source中的LastModifiedDate来检测该记录是否已更新,并将此记录插入当前日期的Data Lake中。这个想法是选择带有max(date)的记录。

但是,我无法理解

  • 我将检测到源中已删除的记录,我将如何使用Data Lake?
  • 是否应该使用Cassandra等其他数据存储并执行删除命令?恐怕它将失去不动产。

  • 您能建议我针对这种情况的良好做法吗?

    最佳答案

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

  • 在添加lastModifiedDate时,还可以再添加一个列命名状态。如果记录被删除,则将状态标记为“已删除”。因此,下次您要查询最新的 Activity 记录时,将可以将其过滤掉。
  • 如果每天执行ACID操作,则也可以使用cassandra或Hbase(任何nosql数据库)。如果没有,第一种方法将是在Hadoop中创建数据湖的理想选择
  • 关于apache-spark - 将数据湖与已删除的记录同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694901/

    相关文章:

    apache-spark - 错误 : Must specify a primary resource (JAR or Python or R file) - IPython notebook

    scala - 通过 JDBC 在 spark 上从远程配置单元读取数据返回空结果

    java - 如何使用 java 自定义比较器来订购 Spark RDD

    hadoop - CloudLab 中的从属虚拟机宕机

    有或没有 "implements"的 Hadoop 映射方法?

    cassandra - Cassandra 如何处理 datastax java 驱动程序中的阻塞执行语句

    java - Spark 和 Cassandra Java 应用程序异常提供程序 org.apache.hadoop.fs.s3.S3FileSystem 未找到

    hadoop - 无法从配置单元创建 hbase 表

    cassandra - 如何存储唯一的 "Likes"或 "Views"或按比例设置?

    Cassandra 种子节点和连接到节点的客户端