大数据反哺_数据抽取模式分析

在大数据反哺的应用过程中,由于源数据和目标数据往往不存在同一个数据库中,在进行反哺分析之前需要对待反哺的数据进行抽取。在实际的应用过程中,数据源较多采用的是关系数据库。

常见的数据抽取模式有4种:全量覆盖抽取全量追加增量和增量滚动
在这里插入图片描述

一、 全量覆盖抽取

全量抽取类似于数据全量替换,它将数据源中的表的数据原封不动的从源数据库中抽取出来,然后复制到目的数据库。若目标数据库已存在数据,此时会对原来的数据进行覆盖。
特点全量覆盖抽取,抽取的时刻始终和源库数据保持一致。覆盖是一个先删除后拷贝的过程。
优点易理解,数据质量好,适用于小数据量的表。
缺点大数据量的时候,占用资源且抽取速度慢。

例子:某公安局大数据平台源头库中第一天有100条数据,第二天由于民警进行数据采集,源头库新增了50条数据,此时源头库中有数据150条。那么,第一天抽取至目标库数据量有100条,第二天抽取数据时删除之前抽取的数据100条,然后重新抽取源头库全部数据,此时目标库也是150条数据。

二、 全量追加抽取
全量追加抽取类似于文本追加,它将数据源中的表的数据原封不动的抽取处理,然后追加在目标库数据的后面。
特点全量追加抽取,数量会比原来数据多。追加是一个不会删除的过程。
优点可以帮源头库存历史数据。 适用于源头表只存当天最新数据,有数的目标库可以把每天最新数据存储充当历史库。

例子:某公安局大数据平台源头库中第一天有100条数据,第二天由于民警进行数据采集,源头库新增了50条数据,此时源头库中有数据150条。那么,第一天抽取至目标库数据量有100条,第二天抽取数据源头库中的数据150条,但不会删除昨天的数据,将抽取的数据追加至第一天的数据后,此时目标库也是250条数据。

三、 增量抽取
增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL 使用过程中,增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。对捕获方法一般有两点要求:准确性,能够将业务系统中的变化数据按一定的频率准确地捕获到;性能,不能对业务系统造成太大的压力,影响现有业务。
特点增量抽取,必须要有增量键。抽取会根据增量键确定增量数据部分。
优点对数据增量部分处理,占资源小,适用于历史数据稳定的大数据量表。
缺点设置复杂,不能更新历史数据,只能手工重跑。

例子:有一张信息采集表,有个字段为信息登记时间。现在该表有10月1号到10月6号数据共100条数据。那么执行增量抽取,假设增量字段为信息登记时间。那么第一次抽取:100条数据全部拷贝到目标库,此时目标库100条数据。第二次抽取:源头增加了10条数据,订单创建日期为10月7号。此时有数会判断,目标库最大日期是10月6号,源库最大日期是10月7号。目标库会把源头大于10月6号,小于等于10月7号的数据拷贝进来(即为增加的10条),此时目标库数据为110日条。 第三次抽取:源头增加了10条数据,其中5条数据为10月7号,5条数据为10月8号数据。那么此时抽取:目标库最大日期是10月7号,源库最大日期是10月8号。有数会把源头大于10月7号,小于等于10月8号的数据拷贝进来(即为增加的5条)。

常用的捕获变化数据的方法有
(1)全表比对方式:全表比对的方式是事先为ETL要抽取的表建立一个结构类似的临时表,该临时表记录源表主键以及根据所有字段的数据计算出来,每次进行数据抽取时,对源表和临时表进行的比对,如有不同,则对目标表进行Update 操作,如果目标表没有存在该主键值,表示该记录还没有,即对目标表进行Insert 操作。
优点对已有系统表结构不产生影响,不需要修改业务操作程序,所有抽取规则由ETL完成,管理维护统一,可以实现数据的递增加载,没有风险。
缺点ETL 比对较复杂,设计较为复杂,速度较慢。与触发器和时间戳方式中的主动通知不同,全表比对方式是被动的进行全表数据的比对,性能较差。当表中没有主键或唯一列且含有重复记录时,全表比对方式的准确性较差。
(2)触发器方式(又称快照式):在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临 时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。
优点数据抽取的性能高,ETL 加载规则简单,速度快,不需要修改业务系统表结构,可以实现数据的递增加载。
缺点要求业务表建立触发器,对业务系统有一定的影响,容易对源数据库构成威胁。
(3) 时间戳方式
它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取 时,通过比较上次抽取时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的 值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。
优点同触发器方式一样,时间戳方式的性能也比较好,ETL 系统设计清晰,源数据抽取相对清楚简单,可以实现数据的递增加载。
缺点时间戳维护需要由业务系统完成,对业务系统也有很大的依赖
特点加入额外的时间戳字段,特别是对不支持时间戳的自动更新的数据库,还要求业务系统进行额外的更新时间戳操作;另外,无法捕获对时间戳以前数据的delete和update 操作,在数据准确性上受到了一定的限制。
(4)全表删除插入方式
每次ETL 操作均删除目标表数据,由ETL 全新加载数据。
优点ETL 加载规则简单,速度快。
缺点对于维表加外键不适应,当业务系统产生删除数据操作时,综合数据库将不会记录到所删除的历史数据,不可以实现数据的递增加载;同时对于目标表所建立的关联关系,需要重新进行创建。
(5)日志表方式
在业务系统中添加系统日志表,当业务数据发生变化时,更新维护日志表内容,当作ETL 加载时,通过读日志表数据决定加载那些数据及如何加载。
优点不需要修改业务系统表结构,源数据抽取清楚,速度较快。可以实现数据的递增加载。
缺点日志表维护需要由业务系统完成,需要对业务系统业务操作程序作修改,记录日志信息。日志表维护较为麻烦,对原有系统有较大影响。工作量较大,改动较 大,有一定风险。
(6)Oracle 变化数据捕捉(CDC 方式)
通过分析数据库自身的日志来判断变化的数据。Oracle 的改变数据捕获(CDC,Changed Data Capture)技术是这方面的代表。CDC 特性是在Oracle9i 数据库中引入的。CDC 能够帮助你识别从上次抽取之后发生变化的数据。利用CDC,在对源表进行insert、update 或 delete 等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系 统。CDC 体系结构基于发布/订阅模型。发布者捕捉变化数据并提供给订阅者。订阅者使用从发布者那里获得的变化数据。通常,CDC 系统拥有一个发布者和多个订阅者。发布者首先需要识别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特别创建的变化表中。它还使订阅者能够 控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感兴趣。订阅者需要创建一个订阅者视图来 访问经发布者授权可以访问的变化数据。CDC 分为同步模式和异步模式,同步模式实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中;异步模式则是基于Oracle 的流复制技术。
优点提供了易于使用的API 来设置CDC 环境,缩短ETL 的时间。不需要修改业务系统表结构,可以实现数据的递增加载。
缺点:业务系统数据库版本与产品不统一,难以统一实现,实现过程相对复杂,并且需深入研究方能实现。或者通过第三方工具实现,价格昂贵。

总结

  • 对于大型数据库,数据变更频率快,表数量多,对数据传输要求有备份,安全,零差数据的采用基于数据库日志的方法
  • 对于小型数据库,且未开归档,但数据变更频率快的采用基于全量对比的方法
  • 对于含有标准时间戳字段,且应用环境适合,表数量较少的采用基于时间字段的方法
  • 至于触发器,由于需要源端运维成本较大,且对源端存储有压力(既然都是对存储有压力为何不用OGG),故很少有客户选择这一种

四、 增量滚动抽取
增量滚动可以理解成一种特殊的增量抽取。在执行抽取的时候,会先把数据删除特定的时间范围。然后执行增量抽取的比较逻辑。
优点可以定期回溯
缺点设置复杂,不能更新历史数据,只能手工重跑。
特点增量滚动抽取,必须要有增量键。抽取会先删除特定的时间范围,然后根据增量键确定增量数据部分。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
强化学习任务的状态空间是指在强化学习中,用来描述环境状态的集合。状态空间可以是离散的,也可以是连续的,甚至可以是混合的。在离散状态空间中,状态被定义为一个离散的集合,例如在棋盘游戏中,每个格子的状态可以是空、黑子或白子。在连续状态空间中,状态被定义为一个连续的值,例如在自动驾驶中,状态可以是车辆的速度、位置和方向等连续变量。而在混合状态空间中,状态可以同时包含离散和连续的变量。 在强化学习任务中,状态空间的设计非常重要。好的状态空间应该能够充分描述环境的特征,包含对任务逻辑的深入理解。任务分析是状态设计的关键,通过对任务的分解和对任务本质的研究,可以确定状态空间中的重要环节和影响因素。同时,对任务逻辑的深入分析也有助于设计优秀的回报函数(reward),并反哺状态空间的设计。对于复杂任务的理解需要耐心和经验的积累,可能需要经过一段时间的摸索和不断的修正。 因此,强化学习任务的状态空间是根据任务的特点和要求来设计的,可以是离散的、连续的或混合的,关键是能够充分描述环境的特征,并与任务的目标和逻辑相匹配。 #### 引用[.reference_title] - *1* *2* [强化学习之混合动作空间](https://blog.csdn.net/weixin_44077955/article/details/125166670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [深度强化学习落地方法论(5)——状态空间篇](https://blog.csdn.net/s3387224/article/details/103282884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值