(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210368943.4 (22)申请日 2022.04.08 (71)申请人 河钢数字技 术股份有限公司 地址 050000 河北省石家庄市高新区黄河 大道136号科技中心1号楼 (72)发明人 郑士良 刘威宪 黎荣华 安宝  刘东东 林楠 陈文豪 张夏楠  (74)专利代理 机构 石家庄知住优创知识产权代 理事务所(普通 合伙) 13131 专利代理师 王丽巧 (51)Int.Cl. G06F 16/215(2019.01) G06F 16/22(2019.01) G06F 16/23(2019.01) G06F 16/2458(2019.01) (54)发明名称 一种基于HIVE的数据增量采集方法 (57)摘要 本发明公开了一种基于HIVE的数据增量采 集方法, 涉及大数据采集与数据清洗治理技术领 域。 该基于HIVE的数据增量采集方法在使用时, 只需要配置相关的采集任务和sql脚本任务, 将 sql脚本放入可执行带参数sql脚本的sql执行工 具中, 只暴露出表名, 创建时间, 更新时间, 主键, 原表可能会删除数据的时间段n, 用户只需填入 这几个关键信息进行sql执行任务配置, 即可统 一解决以上问题, 保证数据的一致性; sql脚本处 理流程复用性强, 形式灵活, 操作简单, 将sql脚 本放入执行工具, 只需填入相关参数, 即可进行 各类治理, 适用于hive库内所有类型的表及 表内 不同格式的时间字段的情况。 权利要求书3页 说明书8页 附图1页 CN 114647641 A 2022.06.21 CN 114647641 A 1.一种基于 HIVE的数据增量采集方法, 其特 征在于: 包括以下几个参数: ${PartDate}: 代表昨天的日期, 格式为年月日, 需要根据采集工具自身具体对于hive 分区采集时的设定参数进行填写; ${ods_table_name}: 采集至 hive的ods表名; ${only_id}: 确定表唯一的主键的组合 值 ${REC_CREATE_TIM E}: 时间字段, 创建时间; ${REC_REVISE_TIM E}: 时间字段, 更新时间; ${check_days}: 源库会删除数据的时间段, 与第二步中采集源库的时间段保持一致, 比如源库会删除3 0天内的数据, 这里的值会设定为3 0; 上述具体实施步骤如下: S1: 初始化采集全量数据, 适用于初始化采集或者需要重跑全量数据; S2: 定时抽取源库在删除时间之内的数据至ods表; S3: 对ods表进行sql脚本治理, 且治 理频率设置为每天, 同时定时执行之间设定在第二 步执行完毕之后; S4: 定时永久存 储30210100分区数据。 2.根据权利要求1所述的一种基于HIVE的数据增量采集方法, 其特征在于: 在进行所述 初始化采集全量数据时, 第一个是普通任务, 抽取全量, 放入${Par tDate}分区; 第二个是sql脚本任务, 删除${PartDate}之前所有分区,并将最新全量数据放入_f表, 具体脚本如下: 首先, 抽取全量后删除之前的数据: alter table${ods_table_name}drop  partition(pt<${Par tDate}); alter table${ods_table_name}drop  partition(pt='3 0210100'); 其次, 重新抽数, 删除表也要重新 算数据: truncate table${ods_table_name}_d; 最后, 将全量数据放入_f表: SET hive.sup port.quoted.identifiers= None; insert overwrite  table${ods_table_name}_f select*from${ods_table_name}。 3.根据权利要求1所述的一种基于HIVE的数据增量采集方法, 其特征在于: 在抽取所述 源库在删除时间之内的数据至ods表时, 分区名为pt= ’30210100 ’, 设定定时频率为每天抽 取, 定时时间根据业务需求时间确定,抽取源库表的sql可以根据源库表的时间字段来确 定, 假如只有一个时间字段, 可以写为: select*from  table where CREATION_DATE >=to_char(sysdate ‑30,'yyyymmdd') AND CREATION_DATE <to_char(sysdate, 'yyyymmdd')。 4.根据权利要求3所述的一种基于HIVE的数据增量采集方法, 其特征在于: 所述源库表 的时间字段为两个时, 其脚本可以写为: select*from  table where(CREATION_DATE>=to_date(to_char(sysdate ‑30,'YYYY ‑ MM‑DD'),'YYYY‑MM‑DD')权 利 要 求 书 1/3 页 2 CN 114647641 A 2AND CREATION_DATE <to_date(to_c har(sysdate, 'YYYY‑MM‑DD'),'YYYY‑MM‑DD')) OR(LAST_UPDATE_DATE>=to_date(to_char(sysdate ‑30,'YYYY ‑MM‑DD'),'YYYY ‑MM‑ DD') AND LAST_UPDATE_DATE<to_date(to_char(sysdate,'YYYY ‑MM‑DD'),'YYYY ‑MM‑ DD'))。 5.根据权利要求1所述的一种基于HIVE的数据增量采集方法, 其特征在于: 在对所述 ods表进行s ql脚本治理时, 创建带有合并主键的temp表, 简化对比主键的过程, 且 所述temp 表的表结构和表内容与ods表相同: create table if not exists${ods_table_name}_temp  as select*, ” as only_id from${ods_table_name}l imit 0; insert overwrite  table${ods_table_name}_temp select*,co ncat(${o nly_id})as  only_id from${ods_table_name}。 6.根据权利 要求5所述的一种基于HIVE的数据增量采集方法, 其特征在于: 将所述temp 表中最新分区, 也就是pt=30210100的数据,即最新30天数据, temp表中的30天数据左查询 最新30天数据, 找出pt=30210100中为null的数据, 即为源库被删除数据, 将其插入ods_d 删除表中在所述源库需要一个时间字段增量采集时: create table if not exists${ods_table_name}_d  as select*from${ods_table_ name}_temp  limit 0; insert into${ods_table_name}_d select a.*from${ods_table_name}_temp  a left join(select*from${ods_table_name}_temp  wherept='3 0210100')b on concat(a.o nly_id)=co ncat(b.o nly_id) where a.${REC_CREATE_TIM E}>=regexp_replace(subst r(date_sub (FROM_UN IXTIME(UNIX_TIMESTAMP() ),${check_days}),1,10), '‑',”) and a.${REC_CREATE_TIM E}<from_un ixtime(un ix_timestamp(), 'yyyyMMdd')and b.only_id is null。 7.根据权利要求6所述的一种基于HIVE的数据增量采集方法, 其特征在于: 在所述源库 需要两个时间字段采集时: create table if not exists${ods_table_name}_d  as select*from${ods_table_ name}_temp  limit 0; insert into${ods_table_name}_d select a.*from${ods_table_name}_temp  a left join(select*from${ods_table_name}_temp  where pt='30210100')b on concat(a.o nly_id)=co ncat(b.o nly_id) where(a.${RE C_CREATE_TIM E}>=regexp_replace(subst r(date_sub (FROM_UN IXTIME(UNIX_TIMESTAMP() ),${check_days}),1,10), '‑',”) and a.${REC_CREATE_TIM E}<from_un ixtime(un ix_timestamp(), 'yyyyMMdd')and权 利 要 求 书 2/3 页 3 CN 114647641 A 3

.PDF文档 专利 一种基于HIVE的数据增量采集方法

安全报告 > 其他 > 文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于HIVE的数据增量采集方法 第 1 页 专利 一种基于HIVE的数据增量采集方法 第 2 页 专利 一种基于HIVE的数据增量采集方法 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-24 08:50:03上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。