【问题标题】:How to do Incremental loading without comparing with whole data?如何在不与整个数据进行比较的情况下进行增量加载?
【发布时间】:2022-06-11 17:21:38
【问题描述】:

我试图从我的本地数据湖到 azure 数据湖 gen2 进行增量加载。

select 
ac_id,mbr_id ,act_id ,actdttm,
cretm ,rsltyid,hsid,cdag,cdcts  
from df2_hs2_lakeprd_ACTV_table where cdcts > last modified date

我每天更新或添加的记录非常少。我的源表非常大。当我在上面运行查询时,ADF 复制活动需要大量时间来加载。我认为文件管理器条件是从源表中的所有记录开始检查的,所以这需要时间。

有什么方法我可以查询或任何东西,让它直接从 资源。而且我的源表是按日期分区的,分区列将有助于快速加载。

【问题讨论】:

  • 是的,分区列将有助于快速加载。因此,在 where 子句中添加该分区列。
  • 源表的格式是什么?
  • 它是一个外部表,带有 ROW FORMAT SERDE: 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'

标签: apache-spark hive azure-data-factory azure-databricks


【解决方案1】:

为什么不

  1. 将增量文件放入 2 个文件夹。 A.incremental_yyyy_mm_dd_hh_min_seconds B.Datalake
  2. 始终从incremental 文件夹读取,这样您最终可能只读取增量,或者您读取的多余记录将非常低。读取增量文件夹后,保持该文件夹已读取的状态。

因此datalake 文件夹将始终具有完整快照。

【讨论】:

  • 请不要使用“u”和“ur”之类的txtspk。 Stack Overflow 不是聊天室。
猜你喜欢
  • 2017-12-27
  • 2013-12-28
  • 2020-05-27
  • 2017-02-16
  • 2017-07-09
  • 2014-01-26
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
相关资源
最近更新 更多