【问题标题】:ETL Glue delta or incremental logicETL Glue 增量或增量逻辑
【发布时间】:2021-10-29 11:00:07
【问题描述】:

在我们需要每天增加负载的项目中工作,我们将 Glue 用于 ETL 目的。我们正在使用 Glue 获得重复或数据翻倍。

pipeline flow: Ingestion Zone, Raw Zone, Curated zone, consumption zone.
History: 1000 records. Below dates on updates and inserts

1 月 11 日运行结束,I would like to see my total records of 1100 records as I'm upserting the data in rawtocurated zone。但是,我在精选区域中获得了翻倍的记录。数据按运行日期进行分区。比如 2020/01/10/data.csv 和 2020/01/11/data.csv

我应该进行哪些更改以避免在消费区中仅看到增量记录(或增量记录)?

【问题讨论】:

  • 您在使用工作书签功能吗?
  • 是的。它不适用于用例。
  • 您使用 Glue 元数据目录吗?
  • 是的。雅典娜表。

标签: amazon-web-services pyspark apache-spark-sql etl aws-glue


【解决方案1】:

根据我对问题陈述的理解:胶水作业书签功能与元数据目录表一起使用,以确保只处理新数据。 几个查询:

  1. 您的策划区是建立在 s3 之上还是提供的任何其他 RDS 服务之上?
  2. 是直接更新还是 SCD-2 数据转换?
  3. 您是否有任何机会重置/暂停/禁用工作书签?
  4. 如果您说数据是基于运行日期进行分区的,那么分区适用于摄取层 [S3 存储桶下的多个日期特定文件夹和以 parquet 格式维护的数据] 或目标精选层?

即使这不能解决您的问题,我还是建议您使用封装您的处理逻辑的 pyspark/scala 编写自定义 spark 代码

【讨论】:

  • 1. S3 顶部的策划区。 2. Upserts 和 SCD-2 用于不同的数据流 3. 没试过。 4. Rundate 上的数据分区
猜你喜欢
  • 2016-01-12
  • 2020-07-30
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多