System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于DataWork进行AB表数据更新方法技术_技高网

一种基于DataWork进行AB表数据更新方法技术

技术编号:41125809 阅读:6 留言:0更新日期:2024-04-30 17:53
本发明专利技术涉及表单数据处理技术领域,具体是一种基于DataWork进行AB表数据更新方法,Hbase在两个不同集群建立相同的表,定义某个集群的表为A表另一个集群的表为B表;在Redis中定义一个Key代表读取的表的标识;DataWork上抽象出公共的写入逻辑定义为通用资源,调用DataWork的openAPI执行手动任务节点;基于DataWork+DataX+Python平台实现往Hbase的A、B表执行同步数据逻辑,同一时刻数据的读取和写入请求要打到某个集群上由Redis统一进行管理;本发明专利技术通过写入A、B表的方式,以存储换查询效率,将查询和写入隔离在两个不同的集群上不会因为数据的批量写入影响查询效率,造成服务不可用。

【技术实现步骤摘要】

本专利技术涉及表单数据处理,具体是一种基于datawork进行ab表数据更新方法。


技术介绍

1、目前通过odps加工司机的画像数据,通过datax每天将全量的司机标签属性写入到hbase表中,而服务则是每天24小时不间断的查询hbase表。

2、由于千万级的司机数据量以及几十个属性标签数据量较大,一方面写入时间特别长,另一方面写入过程中持续的占用hbase集群cpu和内存等资源,写入过程会影响业务的查询性能,导致查询服务不可用。


技术实现思路

1、有鉴于此,本专利技术实施例希望提供一种基于datawork进行ab表数据更新方法,以解决或缓解现有技术中存在的技术问题,为上述技术问题至少提供一种有益的选择。

2、为实现上述目的,本专利技术提供如下技术方案:

3、一种基于datawork进行ab表数据更新方法,该方法包括以下步骤:

4、步骤一、hbase在两个不同集群建立相同的表,定义某个集群的表为a表另一个集群的表为b表;

5、步骤二、在redis中定义一个key代表读取的表的标识;

6、步骤三、datawork上抽象出公共的写入逻辑定义为通用资源,调用datawork的openapi执行手动任务节点;

7、步骤四、基于datawork+datax+python平台实现往hbase的a、b表执行同步数据逻辑,同一时刻数据的读取和写入请求要打到某个集群上由redis统一进行管理;

8、步骤五、在datawork平台开发程序实现逻辑,分别写入hbase的a表和b表,串行执行,写完某个表之后更新redis标识,使服务的查询请求从a表切换到b表上,更新完标识切换完成之后再写另一张表。

9、步骤六、hbase的a表和b表分别存到两个不同的集群中,同一时刻数据读取发生在其中一个集群,数据写入发生在另一个集群,从物理层面进行资源隔离。

10、作为本专利技术进一步的方案:所述存储的value可以定义为日期#a和日期#b,初始化为其中的一个标识a或b。

11、作为本专利技术再进一步的方案:该方法还包括以下步骤:

12、步骤一、接收服务器发送的更新数据点子集,其中,所述更新数据点子集中的更新数据点携带横坐标值和纵坐标值,所述待更新数据包括至少一条第一数据;

13、步骤二、比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型,所述原始数据包括至少一条第二数据;

14、步骤三、读取当前显示的图表上的所有当前数据点子集,其中,所述当前数据点子集中的当前数据点携带所述横坐标值,所有所述当前数据点子集按接收时间顺序排列组成当前数据点集合;

15、步骤四、当所述当前数据点集合中的最后一个所述当前数据点的所述横坐标值小于预设的最大显示横坐标值时,根据所述更新数据点子集中的所述更新数据点的所述横坐标值和所述纵坐标值依次绘制每个所述更新数据点;

16、步骤五、遍历所述表格中的原始数据中的每一条第二数据,利用所述第一数据对应的操作类型更新所述表格中的原始数据。

17、作为本专利技术再进一步的方案:所述确定表格的待更新数据,包括:获取表格的初始待更新数据,所述初始待更新数据包括至少一条第三数据;

18、对数据格式不满足预设的数据格式要求的第三数据进行数据格式转换;

19、将进行数据格式转换后的初始待更新数据确定为待更新数据,将进行数据格式转换后的初始待更新数据中的每条第三数据确定为一条第一数据。

20、作为本专利技术再进一步的方案:在比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型之前,该方法还包括:确定所述表格中的原始数据是否为空;

21、若所述表格中的原始数据为空,加载所述待更新数据至所述表格;

22、所述比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型,包括:若所述表格中的原始数据不为空,比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型。

23、作为本专利技术再进一步的方案:所述方法还包括如下步骤:当所述当前数据点集合中的最后一个所述当前数据点的所述横坐标值等于预设的所述最大显示横坐标值时,删除所述当前数据点集合中按接收时间顺序排列的第一个所述当前数据点子集,并将所述更新数据点子集按接收时间顺序加入所述当前数据点集合,形成当前更新数据点集合;

24、根据所述当前更新数据点集合中的数据点的所述横坐标值和所述纵坐标值依次绘制每个所述数据点。

25、作为本专利技术再进一步的方案:所述根据所述更新数据点子集中的所述更新数据点的所述横坐标值和所述纵坐标值依次绘制每个所述更新数据点,具体包括:确定所述更新数据点子集中的最后一个所述更新数据点的所述横坐标值,作为最大横坐标值,以及确定所述更新数据点子集中的纵坐标值最大的所述更新数据点的所述纵坐标值,作为最大纵坐标值;

26、当所述最大横坐标值小于或等于预设的所述最大显示横坐标值,且所述最大纵坐标值小于或等于预设的最大显示纵坐标值时,依次绘制每个所述更新数据点。

27、作为本专利技术再进一步的方案:所述比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型,包括:确定所述第一数据是否携带删除标识;

28、若所述第一数据携带删除标识,确定所述第一数据对应的操作类型为删除类型;

29、若所述第一数据未携带删除标识,确定所述表格中的原始数据中是否存在与所述第一数据相同的第二数据;

30、若所述表格中的原始数据中不存在与所述第一数据相同的第二数据,确定所述第一数据对应的操作类型为添加类型;

31、若所述表格中的原始数据中存在与所述第一数据相同的第二数据,确定所述第一数据的数据内容与所述第二数据的数据内容是否相同;

32、若所述第一数据的数据内容与所述第二数据的数据内容不相同,确定所述第一数据对应的操作类型为更新类型。

33、作为本专利技术再进一步的方案:所述遍历所述表格中的原始数据中的每一条第二数据,利用所述第一数据对应的操作类型更新所述表格中的原始数据,包括:遍历所述表格中的原始数据中的每一条第二数据;

34、确定所述待更新数据中是否存在与所述第二数据相同的第一数据;

35、若所述待更新数据中存在与所述第二数据相同的第一数据,确定所述第一数据对应的操作类型是否为删除类型;

36、如果所述第一数据对应的操作类型为删除类型,将所述表格中的原始数据中的第二数据删除;

37、如果所述第一数据对应的操作类型不为删除类型,确定所述第一数据对应的操作类型是否为更新类型;

38、如果所述第一数据对应的操作类型为更新类型,利用所述第一数据更新所述表格中的原始数据中的所述第二数据;

39、如果所本文档来自技高网...

【技术保护点】

1.一种基于DataWork进行AB表数据更新方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的一种基于DataWork进行AB表数据更新方法,其特征在于:所述存储的Value可以定义为日期#A和日期#B,初始化为其中的一个标识A或B。

3.根据权利要求1所述的一种基于DataWork进行AB表数据更新方法,其特征在于,该方法还包括以下步骤:

4.根据权利要求3所述的一种基于DataWork进行AB表数据更新方法,其特征在于,所述确定表格的待更新数据,包括:获取表格的初始待更新数据,所述初始待更新数据包括至少一条第三数据;

5.根据权利要求3所述的一种基于DataWork进行AB表数据更新方法,其特征在于,在比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型之前,该方法还包括:确定所述表格中的原始数据是否为空;

6.根据权利要求3所述的一种基于DataWork进行AB表数据更新方法,其特征在于,所述方法还包括如下步骤:当所述当前数据点集合中的最后一个所述当前数据点的所述横坐标值等于预设的所述最大显示横坐标值时,删除所述当前数据点集合中按接收时间顺序排列的第一个所述当前数据点子集,并将所述更新数据点子集按接收时间顺序加入所述当前数据点集合,形成当前更新数据点集合;

7.根据权利要求6所述的一种基于DataWork进行AB表数据更新方法,其特征在于,所述根据所述更新数据点子集中的所述更新数据点的所述横坐标值和所述纵坐标值依次绘制每个所述更新数据点,具体包括:确定所述更新数据点子集中的最后一个所述更新数据点的所述横坐标值,作为最大横坐标值,以及确定所述更新数据点子集中的纵坐标值最大的所述更新数据点的所述纵坐标值,作为最大纵坐标值;

8.根据权利要求7所述的一种基于DataWork进行AB表数据更新方法,其特征在于,所述比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型,包括:确定所述第一数据是否携带删除标识;

9.根据权利要求8所述的一种基于DataWork进行AB表数据更新方法,其特征在于,所述遍历所述表格中的原始数据中的每一条第二数据,利用所述第一数据对应的操作类型更新所述表格中的原始数据,包括:遍历所述表格中的原始数据中的每一条第二数据;

...

【技术特征摘要】

1.一种基于datawork进行ab表数据更新方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的一种基于datawork进行ab表数据更新方法,其特征在于:所述存储的value可以定义为日期#a和日期#b,初始化为其中的一个标识a或b。

3.根据权利要求1所述的一种基于datawork进行ab表数据更新方法,其特征在于,该方法还包括以下步骤:

4.根据权利要求3所述的一种基于datawork进行ab表数据更新方法,其特征在于,所述确定表格的待更新数据,包括:获取表格的初始待更新数据,所述初始待更新数据包括至少一条第三数据;

5.根据权利要求3所述的一种基于datawork进行ab表数据更新方法,其特征在于,在比较所述待更新数据与所述表格中的原始数据,确定每条所述第一数据对应的操作类型之前,该方法还包括:确定所述表格中的原始数据是否为空;

6.根据权利要求3所述的一种基于datawork进行ab表数据更新方法,其特征在于,所述方法还包括如下步骤:当所述当前数据点集合中的最后一个所述当前数据点的所述横坐标值等于预设的所述最大显示横坐...

【专利技术属性】
技术研发人员:于志杰
申请(专利权)人:北京白龙马云行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1