CN114579584B - 数据表处理方法、装置、计算机设备和存储介质 - Google Patents

数据表处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114579584B
CN114579584B CN202210483492.9A CN202210483492A CN114579584B CN 114579584 B CN114579584 B CN 114579584B CN 202210483492 A CN202210483492 A CN 202210483492A CN 114579584 B CN114579584 B CN 114579584B
Authority
CN
China
Prior art keywords
field
data
field name
wide
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210483492.9A
Other languages
English (en)
Other versions
CN114579584A (zh
Inventor
钟子宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210483492.9A priority Critical patent/CN114579584B/zh
Publication of CN114579584A publication Critical patent/CN114579584A/zh
Application granted granted Critical
Publication of CN114579584B publication Critical patent/CN114579584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据表处理方法、装置、计算机设备、存储介质和计算机程序产品,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。所述方法包括:获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;将各所述数据源表的字段名组织成数据宽表中的宽表字段名;基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。采用本方法能够更灵活地生成数据宽表。

Description

数据表处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据表处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了机器学习技术,机器学习中进行需要进行模型训练。模型训练所需的训练数据需要采集各个日志数据源的不同数据,并进行数据挖掘和拼接得到。训练数据通常存储在大数据仓库中,而在大数据仓库中,数据按照不同的主题分布在不同的数据表中。
传统技术对训练数据进行分析时,将这些训练数据所属的数据表通过关联规则匹配生成特征宽表,以从特征宽表中获取所需的训练数据。由于目前的模型版本迭代较快,所产生的日志数据源的数据量大,而通过关联规则匹配生成特征宽表的计算复杂,生成方式不灵活。
发明内容
基于此,有必要针对上述技术问题,提供一种能够灵活生成数据宽表的数据表处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种数据表处理方法,所述方法包括:
获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;
根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;
将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
本申请还提供了一种数据表处理装置,所述装置包括:
获取模块,用于获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;
构建模块,用于根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;
组织模块,用于将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
处理模块,用于基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
在一个实施例中,所述获取模块,还用于获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名以及与每个所述字段名对应的字段内容;所述构建模块,还用于通过多个所述服务器根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行构建相应数据源表对应的中间表。
在一个实施例中,所述数据源表的字段名包括第一标识字段名和特征字段名,所述字段内容包括所述第一标识字段名对应的第一对象标识和所述特征字段名对应的特征内容,所述中间表包括第二标识字段名、键字段名和值字段名;
所述构建模块,还用于将每个所述数据源表中各所述第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识;将每个所述数据源表的各所述特征字段名,作为相应中间表的键字段名所对应的键内容;将每个所述特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容;每个所述中间表中的键内容和对应的值内容作为键值对。
在一个实施例中,所述装置还包括递归模块;所述递归模块,用于将每个所述中间表按照所述第二标识字段名、所述键字段名和所述值字段名进行递归聚合处理,得到全量表;
所述处理模块,还用于基于所述宽表字段名,对所述全量表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
在一个实施例中,所述递归模块,还用于将至少两个中间表按照所述第二标识字段名、所述键字段名和所述值字段名进行拼接处理,并将拼接处理所生成的临时表和下一中间表继续按照所述第二标识字段名、所述键字段名和所述值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表。
在一个实施例中,所述递归模块,还用于将每个所述中间表按照所述第二标识字段名、所述键字段名和所述值字段名进行递归聚合处理,并对递归聚合处理所得到的表中具有相同数据的数据行进行去重处理,得到全量表。
在一个实施例中,所述获取模块,还用于获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名;
所述组织模块,还用于通过多个所述服务器并行将各自接收的源地址所对应的数据源表中提取的字段名,组织成相应数据源表对应的字段名序列;将每个所述数据源表对应的字段名序列组织成全量字段名序列,并将所述全量字段名序列组织成数据宽表中的宽表字段名。
在一个实施例中,所述处理模块,还用于将每个所述中间表中的字段内容,写入所述数据宽表中与相应宽表字段名对应的内容位置,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
在一个实施例中,所述数据源表基于目标应用的日志数据生成,所述装置还包括更新模块;所述更新模块,用于当所述目标应用的日志数据存在更新时,确定更新的增量数据;将所述增量数据构建为增量表,所述增量表与所述中间表具有相同数据结构,所述增量表包括增量字段名和对应的增量字段内容;将所述增量字段名增加为所述数据宽表的宽表字段名,并将所述增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
在一个实施例中,所述装置还包括训练模块;所述训练模块,用于获取与待处理业务对应的数据宽表;根据所述待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与所述待处理业务相匹配的训练样本;基于所述训练样本对业务处理模型进行训练,得到训练完成的业务处理模型,所述训练完成的业务处理模型用于对所述待处理业务进行处理。
在一个实施例中,所述待处理业务为对象画像构建;所述宽表字段名至少包括对象字段名、属性字段名、资源字段名、操作字段名,所述宽表字段内容至少包括候选对象标识、候选对象的属性内容、所述候选对象所关注的资源内容、所述候选对象对资源内容的操作内容;所述训练样本基于所述候选对象标识、所述属性内容、所述资源内容和所述操作内容构建;所述业务处理模型为画像生成模型,训练完成的画像生成模型用于为目标对象构建对应的对象画像。
本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;
根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;
将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;
根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;
将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
本申请还提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;
根据所述多个数据源表各自的字段名和对应的字段内容,构建每个所述数据源表分别对应的中间表;每个所述中间表具有相同数据结构;
将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
基于所述宽表字段名,对每个所述中间表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
上述数据表处理方法、装置、计算机设备、存储介质和计算机程序产品,需要进行拼接的多个数据源表中,至少存在两个数据源表的数据结构不同,获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,以根据多个数据源表各自的字段名和对应的字段内容构建每个数据源表分别对应的中间表,而所构建的每个中间表具有相同数据结构,使得能够将不同数据结构的数据源表重新整合生成相同数据结构的中间表。将各数据源表的字段名组织成数据宽表中的宽表字段名,能够先将各个数据源表中的所有字段名完全整合到数据宽表中,以保存各个数据源表中的完整字段名信息,避免后续字段内容聚合时产生数据信息丢失的问题。进一步基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,从而能够通过数据聚合处理将多个数据结构相同的中间表进行合并,避免了使用关联规则进行连接时所造成的数据倾斜的情况,使得数据宽表的生成更灵活。
附图说明
图1为一个实施例中数据表处理方法的应用环境图;
图2为一个实施例中数据表处理方法的流程示意图;
图3为一个实施例中构建每个数据源表分别对应的中间表的步骤的流程示意图;
图4为另一个实施例中根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表的流程示意图;
图5为一个实施例中由多个竖表生成全量竖表的示意图;
图6为一个实施例中生成数据宽表的示意图;
图7为其中一个实施例中数据表处理方法的流程示意图;
图8为另一个实施例中数据表处理方法的流程示意图;
图9为一个实施例中数据表处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据表处理方法涉及的数据表可以为大数据仓库中的数据表。其中大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的大数据处理技术及机器学习,具体涉及机器学习的模型训练过程中关于训练数据的处理。本申请通过如下实施例进行说明:
本申请实施例提供的数据表处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。终端102和服务器104均可单独执行本申请实施例中提供的数据表处理方法。终端102和服务器104也可协同用于执行本申请实施例中提供的数据表处理方法。当终端102和服务器104协同用于执行本申请实施例中提供的数据表处理方法时,终端102可将多个数据源表发送至服务器104,服务器104获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,多个数据源表中至少两个数据源表的数据结构不同。服务器104根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表;每个中间表具有相同数据结构。服务器104将各数据源表的字段名组织成数据宽表中的宽表字段名,服务器104基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、智能语音交互设备、智能家电、车载终端、飞行器等。该终端102上可运行应用程序,该应用程序可以是通信应用、音视频应用和图像处理应用等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中提及的“多个”等的数量均指代“至少两个”的数量。
在一个实施例中,如图2所示,提供了一种数据表处理方法,以该方法应用于计算机设备(计算机设备可以是图1中的终端或服务器)为例进行说明,包括以下步骤:
步骤S202,获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,多个数据源表中至少两个数据源表的数据结构不同。
其中,多个数据源表是指需要拼接成数据宽表的多个数据表,多个数据源表可存储在不同的服务器集群、不同的服务器或不同的数据库中。数据源表中存储了模型训练时的训练数据。训练数据通常按照不同的主题分布在不同的数据源表中,例如,订单相关的信息组织在“订单表”中,包含用户标识、订单标识、订单金额等字段名和对应的字段内容,而用户相关的信息组织在“用户表”中,包含用户标识、姓名、年龄等字段和对应的字段内容。
在数据库中,一般将数据表的“列”称为“字段”,每个字段包含某一专题的信息。字段名通常为数据表中每一列的列名,用于对该列中的数据进行泛化表示,就像“通讯录”数据库中,“姓名”、“联系电话”这些都是数据表中所有行共有的属性,所以这些列的字段名为“姓名”和“联系电话”。字段内容是指数据表中每一列的具体数据记录,例如,字段名为“姓名”所对应的字段内容为“张XX”、“李XX”等。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据记录的集合。数据源表的数据结构也称为数据源表的表结构,数据结构定义了数据源表的表名、字段个数、字段名、字段类型等,还可以定义数据长度、主键、外键和索引等信息。
具体地,计算机设备可确定需要拼接为数据宽表的多个数据源表,并获取每个数据源表各自的字段名,以及每个字段名在所属数据源表中所对应的字段内容。该多个数据源表中的至少两个数据源表的数据结构不同。
在一个实施例中,该多个数据源表中的任意两个数据源表的数据结构不同,即多个数据源表中的每个数据源表的数据结构均不相同。
在一个实施例中,计算机设备可获取多个数据源表各自对应的元信息,该元信息至少包括数据源表各自对应的位置信息和数据结构。数据源表的元信息(Metadata)指的是描述数据属性(property)的信息,包括数据源表的位置信息、数据源表的表结构、数据源表的主键等。其中,位置信息用于表征数据源表在数据仓库中的存储位置,位置信息具体可以是存储路径,同一数据源表存储路径可以有多个,代表数据源表分布在不同的位置。计算机设备可根据各数据源表的位置信息获取每个数据源表各自的字段名,以及每个字段名在所属数据源表中所对应的字段内容。
本实施例中,数据源表的位置信息具体可以是数据源表的源地址。
步骤S204,根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表;每个中间表具有相同数据结构。
其中,中间表是指具有预设数据结构的数据表,每个中间表对应一个数据源表。预设数据结构可以是“对象标识-键-值”结构,对象标识是指对象的标识,例如用户标识,“键”是指字段名,“值”是指对象标识和字段名所对应的字段内容。
具体地,计算机设备根据数据源表中的各个字段名,以及每个字段名各自对应的字段内容,为该数据源表构建预设数据结构的中间表。按照相同的处理方式,计算机设备可为每个数据源表构建各自对应的中间表,各个中间表的数据结构相同,即各个中间表均为预设数据结构。
本实施例中,对于多个数据源表,计算机设备可根据多个数据源表各自的字段名和对应的字段内容,并行构建每个数据源表分别对应的中间表。
在一个实施例中,中间表可以是竖表,竖表是具有对象标识-键-值结构的数据表,对象标识-键-值结构如userid-key-value结构,其中,userid字段名对应的字段内容为对象标识,key字段名对应的字段内容为字段名称,value字段名对应的字段内容为对象标识和对象标识共同对应的字段内容。key字段名对应的字段内容称为键内容,value字段名对应的字段内容称谓值内容。
步骤S206,将各数据源表的字段名组织成数据宽表中的宽表字段名。
其中,数据宽表是指字段较多的数据表,即列比较多的数据表,数据宽表通常是指业务主题相关的指标、维度以及属性关联在一起的数据表。宽表字段名是指数据宽表中的字段的名称。
具体地,计算机设备获取每个数据源表各自的字段名后,将所获取的所有字段名组织成数据宽表中的宽表字段名。
例如,数据源表1中的字段名包括Userid、
Figure 907557DEST_PATH_IMAGE002
,数据源表1中的字段名包括Userid、
Figure 738110DEST_PATH_IMAGE004
,则将数据源表1和数据源表2中的所有字段名组织成数据宽表中的宽表字段名,得到如下表所示的宽表字段名:
Figure 449714DEST_PATH_IMAGE006
在一些实施例中,对于每个数据源表中的各字段名,计算机设备可将相应数据源表中的各字段名组织成字段名序列,得到每个数据源表各自对应的字段名序列。计算机设备可将各字段名序列组织成宽表字段名的宽表字段名。
进一步地,计算机设备可将每个数据源表的各字段名按照在相应数据源表中的顺序组织成字段名序列,然后将这些字段名序列进行拼接得到宽表字段名的宽表字段名。
在一个实施例中,计算机设备可将所有字段名序列组织成全量字段名序列,并将全量字段名序列组织成数据宽表中的宽表字段名。
步骤S208,基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
其中,宽表字段内容是指数据宽表中的每个宽表字段名所对应的数据记录。
具体地,计算机设备基于数据宽表中的宽表字段名和每个中间表中的字段名,将每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与每个宽表字段名对应的宽表字段内容。
本实施例中,计算机设备基于数据宽表中的宽表字段名和每个中间表中的字段名,可从各个中间表中确定每个宽表字段名所对应的字段内容,从而将每个宽表字段名所对应的字段内容作为宽表字段内容写入数据宽表中,以得到包括宽表字段名和每个宽表字段名所对应的宽表字段内容的数据宽表。
本实施例中,需要进行拼接的多个数据源表中,至少存在两个数据源表的数据结构不同,获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,以根据多个数据源表各自的字段名和对应的字段内容构建每个数据源表分别对应的中间表,而所构建的每个中间表具有相同数据结构,使得能够将不同数据结构的数据源表重新整合生成相同数据结构的中间表。将各数据源表的字段名组织成数据宽表中的宽表字段名,能够先将各个数据源表中的所有字段名完全整合到数据宽表中,以保存各个数据源表中的完整字段名信息,避免后续字段内容聚合时产生数据信息丢失的问题。进一步基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,从而能够通过数据聚合处理将多个数据结构相同的中间表直接进行合并,避免了使用关联规则进行连接时所造成的数据倾斜的情况,使得数据聚合以及宽表生成方式更灵活。
在一个实施例中,如图3所示,获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,包括步骤S302-步骤S304:
步骤S302,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器。
其中,源地址是指存储数据源表的位置信息,每个数据源表对应各自的源地址。
具体地,计算机设备可获取多个数据源表中的每个数据源表分别对应的源地址,并将各源地址分发至目标集群的多个服务器。例如,目标集群包括服务器1、服务器2和服务器3,计算机设备可将多个数据源表的源地址分发给服务器1、服务器2和服务器3,使得每个服务器对所接收的源地址进行相应处理。
在一个实施例中,目标集群是由多个服务器构成的分布式集群。
在一个实施例中,计算机设备中配置了计算引擎,可通过计算引擎将各源地址分发至分布式集群的多个服务器。计算引擎可以是spark程序,即Apache Spark,ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。
步骤S304,通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名以及与每个字段名对应的字段内容。
具体地,服务器接收到源地址,确定存储在该源地址的数据源表,并从处于该源地址的数据源表中提取所有的字段名,以及每个字段名在所属数据源表中对应的字段内容。目标集群中的多个服务器,可并行执行接收源地址、确定存储在源地址的数据源表、以及提取数据表中的字段名和对应的字段内容的操作。
在本实施例中,每个服务器从各自接收的源地址所对应的数据源表中提取字段名,并生成相应数据源表对应的字段名序列。
根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表,包括步骤S306:
步骤S306,通过多个服务器根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行构建相应数据源表对应的中间表。
具体地,服务器可根据一个源地址所指向的单个数据源表中的所有字段名,以及该单个数据源表中的每个字段名所对应的字段内容,构建具有预设数据结构的中间表,以得到该单个数据源表对应的中间表。按照相同的处理方式,服务器可为所接收到的每个源地址所指向的数据表构建各自对应的中间表。
对于多个服务器,可以并行执行构建数据源表对应的中间表的操作,以提高处理效率。
本实施例中,通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并生成相应数据源表对应的字段名序列;通过多个服务器根据各自生成的字段名序列,以及构成相应字段名序列的每个字段名在所属数据表中对应的字段内容,并行构建相应数据源表对应的中间表。
本实施例中,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器,以通过多个服务器对各个源地址所指向的数据源表进行并行操作。多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行生成每个数据源表对应的中间表中的字段名和字段内容,从而能够通过分布式方式各个数据源表进行相关操作,以并行生成每个数据源表的竖表,极大地提高了运算效率。
在一个实施例中,如图4所示,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名;根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表,包括:
步骤S402,将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识。
具体地,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名。计算机设备提取数据源表中的第一标识字段名和所有第一对象标识,将第一标识字段名作为该数据源表对应的中间表中的第二标识字段名,并将该数据源表中的所有第一对象标识作为该中间表中第二标识字段名所对应的第二对象标识。类似地,对于多个数据源表,计算机设备可将每个数据源表的第一标识字段名作为相应中间表的第二标识字段名,并将每个数据源表中的各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识。中间表中的第二标识字段名所对应的字段内容即为相应的第二对象标识。
步骤S404,将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容。
其中,键内容是指键字段名对应的字段内容。
具体地,计算机设备提取数据源表中的所有特征字段名,作为该数据源表对应的中间表中键字段名所对应的键内容。按照相同的处理方式,可得到每个数据源表对应的中间表中的每个键字段名所对应的键内容。
步骤S406,将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容;每个中间表中的键内容和对应的值内容作为键值对。
其中,值内容是指值字段名对应的字段内容,中间表中的键内容和该键内容所对应的值内容构成键值对。
具体地,计算机设备将数据源表中每个特征字段名各自对应的特征内容,作为数据源表对应的中间表中与相应键内容所对应的值内容,以生成中间表的值字段名下所对应的所有字段内容。按照相同的处理方式,计算机设备可将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容,以生成每个中间表中值字段名的所有字段内容。
本实施例中,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名,则中间表的数据结构为“对象标识-键-值”结构,将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识,将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容,将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容,使得中间表中的每行记录均为“对象标识-键-值”结构,从而得到相同数据结构的各个中间表。并且,每个中间表中的键内容和对应的值内容作为键值对,使得数据源表中的特征字段名和对应的字段内容写入中间表后,能够以键值对的形式保持映射关系,有效保证数据映射的准确性。
在一个实施例中,该方法还包括:将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表;
基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,包括:基于宽表字段名,对全量表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
其中,递归聚合处理是指通过循环迭代将多个中间表按照相同键、值进行聚合运算进行聚合运算,以实现数据表拼接的处理方式。全量表是指将所有中间表进行拼接所得到的包含全量数据的数据表。全量数据是指每个中间表中的所有数据,包括字段名和字段内容。
具体地,对于多个中间表,计算机设备将每个中间表按照相同数据结构进行递归聚合处理,得到全量表。将每个中间表按照相同数据结构进行递归聚合处理,得到全量表,包括:将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表。
进一步地,将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表,包括:计算机设备按照第二标识字段名、键字段名和值字段名,将每个中间表中的第二对象标识、键内容和值内容进行拼接处理,得到全量表。所得到的全量表的数据结构与中间表的数据结构相同,全量表中数据列的数量与中间表中数据列的数量相同。每个中间表中数据列的数量均相同。
全量表的数据结构与中间表的数据结构相同,则全量表包括第二标识字段名、键字段名和值字段名,以及第二标识字段名对应的第二对象标识、键字段名对应的键内容、值字段名对应的值内容。计算机设备基于数据宽表中的宽表字段名,对全量表中的字段内容进行数据聚合处理,即对第二对象标识、键内容和值内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
在一个实施例中,中间表为竖表,全量表也为竖表,则计算机将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量竖表。
在一个实施例中,全量表包括第二标识字段名、键字段名和值字段名,以及第二标识字段名对应的第二对象标识、键字段名对应的键内容、值字段名对应的值内容。宽表字段名包括宽表标识字段名和多个宽表特征字段名。计算机设备将全量表中的各第二对象标识作为宽表标识字段名所对应的宽表字段内容,将全量表中与宽表特征字段名对应的键内容所对应的值内容,作为相应宽表特征字段名所对应的宽表字段内容。
如图5所示,为一个实施例中由多个竖表生成全量竖表的示意图。该竖表1和竖表2均包括第二标识字段名Userid、键字段名Key和值字段名Value,竖表1中第二标识字段名Userid对应的字段内容包括第二对象标识Userid1、键字段名Key对应的键内容包括
Figure 33011DEST_PATH_IMAGE008
,值字段名Value对应的键内容包括
Figure 375131DEST_PATH_IMAGE010
。竖表2中第二标识字段名Userid对应的字段内容包括第二对象标识Useridn1,键字段名Key对应的键内容包括
Figure 427400DEST_PATH_IMAGE012
,值字段名Value对应的键内容包括
Figure 631111DEST_PATH_IMAGE014
,并且,同一行的第二对象标识、键内容和值内容具有映射关系,每行均由对象标识-键-值构成。计算机设备将竖表1和竖表2按照第二标识字段名Userid、键字段名Key和值字段名Value进行拼接,得到如5中所示的全量竖表。
如图6所示,为一个实施例中由图5所示的全量竖表生成数据宽表的示意图。计算机设备将各个数据源表中的字段名组织成该数据宽表中的宽表标识字段名Userid和宽表特征字段名
Figure 616384DEST_PATH_IMAGE016
。将全量竖表中的第二对象标识Userid1、Userid2......Useridn1作为数据宽表中宽表标识字段名Userid所对应的宽表字段内容,将Userid1在全量竖表中对应宽表特征字段名
Figure 598247DEST_PATH_IMAGE018
的键内容所对应的值内容
Figure 387080DEST_PATH_IMAGE020
,作为该宽表特征字段名
Figure 909328DEST_PATH_IMAGE022
对应的宽表字段内容,将Userid1在全量竖表中对应宽表特征字段名
Figure 483529DEST_PATH_IMAGE024
的键内容所对应的值内容
Figure 433030DEST_PATH_IMAGE026
,作为该宽表特征字段名
Figure DEST_PATH_IMAGE028_97A
对应的宽表字段内容,以此类推,可生成如图6所示的数据宽表。
本实施例中,将相同数据结构的各个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,能够快速将多个中间表中的所有数据整合到同一张数据表中,得到包含各个中间表中的全量数据的全量表,基于宽表字段名,对全量表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,使得通过聚合运算进行中间表合并,不需要采用关联规则进行拼接(join)、左拼接(left join)等拼接方式,能够有效降低由于数据量过大,或者大表拼接小表时候出现的数据倾斜的情况,并且能够避免因为数据倾斜而造成的数据运算错误、数据丢失及计算不出结果的情况。
在一个实施例中,将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表,包括:
将至少两个中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,并将拼接处理所生成的临时表和下一中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表。
具体地,计算机设备从多个中间表中选择至少两个中间表,将所选择的中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,得到本次拼接所生成的临时表。计算机设备可从未进行拼接的中间表中选择一个中间表,并将所生成的临时表和所选择的中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,得到本次拼接所生成的临时表,使用所生成的临时表继续进行下一次拼接,直至与最后一中间表进行拼接完成后,得到全量表。
本实施例中,将所选择的各中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,是指所选择的各中间表中第二标识字段名对应的第二对象标识进行拼接处理、将键字段名对应的键内容进行拼接处理、以及将值字段名对应的值内容进行拼接处理,得到包括第二对象标识、键内容和相应值内容的数据行,以生成临时表。临时表和中间表的数据结构相同,临时表和中间表的列的数量相同。
本实施例中,计算机设备可将中间表中的所有包含字段内容的数据行写入另一中间表中,作为该另一中间表中的新的数据行,得到临时表。
本实施例中,计算机设备可从多个中间表中任意选择两个中间表,并将所选择的各中间表按照第二标识字段名、键字段名和值字段名进行拼接处理。
在一个实施例中,计算机设备可按照如下方式执行中间表的递归聚合处理:
Figure 151238DEST_PATH_IMAGE030
其中,
Figure 477177DEST_PATH_IMAGE032
表示首个临时表,
Figure 640305DEST_PATH_IMAGE034
表示首个中间表,将首个中间表
Figure DEST_PATH_IMAGE036_66A
作为首个临时表。
Figure 947658DEST_PATH_IMAGE038
表示第i个中间表,
Figure 992975DEST_PATH_IMAGE040
表示递归聚合所得到的临时表,最后一次递归聚合处理所得到的临时表即为全量表。中间表、临时表和全量表均为竖表。
本实施例中,将至少两个中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,从而能够将多个中间表中的所有数据行,作为临时表中的数据行,以实现多个中间表的拼接。将拼接处理所生成的临时表和下一中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表,能够将所有中间表按照第二标识字段名-键字段名-值字段名进行递归拼接,从而能够将多个中间表中的数据内容完整地整合到同一张数据表中,中间表的数据结构相同使得多个中间表的拼接更简单灵活,将多个中间表按照相同数据结构拼接既能够保证各个中间表中数据被完整拼接,避免了数据遗漏,又能够维持数据结构不变,便于后续数据宽表中的字段内容的写入,使得数据的写入更灵活。
在一个实施例中,将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表,包括:
将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,并对递归聚合处理所得到的表中具有相同数据的数据行进行去重处理,得到全量表。
具体地,计算机设备将每个中间表中第二标识字段名对应的第二对象标识进行拼接、将键字段名对应的键内容进行拼接、以及将值字段名对应的值内容进行拼接,得到包括第二对象标识、键内容和相应值内容的数据行,以得到递归聚合处理所生成的表。递归聚合处理所生成的表和中间表的数据结构相同,递归聚合处理所生成的表和中间表的列的数量相同,行的竖表不同。
递归聚合处理所生成的表中可能存在重复的数据行,重复的数据行是指任意两行的第二对象标识、键内容和值内容均相同,则计算机设备可对递归聚合处理所生成的表进行去重处理,以去除重复的数据行,得到全量表。全量表中的各个数据行均不相同,各个数据行均不相同具体可以是第二对象标识、键内容和值内容中的至少一种不同。
本实施例中,将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,并对递归聚合处理所得到的表中进行去重处理,能够删除具有相同数据的数据行,使得全量表中的数据行均不相同,避免存储重复数据占用存储空间,并且能够避免需要进行数据合并统计所造成的计算结果出错等问题。
在一个实施例中,获取多个数据源表各自的字段名,包括:获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器;通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名;
将各数据源表的字段名组织成数据宽表中的宽表字段名,包括:通过多个服务器并行将各自接收的源地址所对应的数据源表中提取的字段名,组织成相应数据源表对应的字段名序列;将每个数据源表对应的字段名序列组织成全量字段名序列,并将全量字段名序列组织成数据宽表中的宽表字段名。
具体地,计算机设备可获取多个数据源表中的每个数据源表分别对应的源地址,并将各源地址分发至目标集群的多个服务器。服务器从所接收的源地址所指向的数据源表中提取所有的字段名,服务器将所提取的同一数据源表的所有字段名组织成相应字段名序列,得到该数据源表所对应的字段名序列。进一步地,服务器可将同一数据源表的所有字段名按照每个字段名在该数据源表中的顺序组织成字段名序列。目标集群中的多个服务器,可并行提取数据表中的字段名,以及生成字段名序列的操作。
得到每个数据源表对应的字段名序列后,计算机设备可将每个数据源表对应的字段名序列组织成全量字段名序列,并将全量字段名序列中的每个字段名作为数据宽表中的宽表字段名。
本实施例中,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器,以通过多个服务器对各个源地址所指向的数据源表进行并行操作。多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,并行生成相应数据源表对应的字段名序列,从而能够通过分布式方式各个数据源表中的字段名进行聚合操作,提高处理效率。并且,将每个数据源表对应的字段名序列组织成全量字段名序列,能够将所有数据源表的所有字段名进行整合,避免数据遗漏。将全量字段名序列组织成数据宽表中的宽表字段名,能够将所有数据源表中的所有字段名整合到数据宽表中,避免数据遗漏,并且能够有效避免后续字段内容写入错误。
在一个实施例中,基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,包括:
将每个中间表中的字段内容,写入数据宽表中与相应宽表字段名对应的内容位置,得到数据宽表中与宽表字段名对应的宽表字段内容。
具体地,数据宽表中的所有宽表字段名由各个数据源表的字段名组织得到,而每个数据源表的字段名和字段内容构建了相同数据结构的中间表,中间表中也包括字段名和字段内容,则每个宽表字段名可以从各中间表中查询到对应的字段内容。计算机设备可从各个中间表中查询与宽表字段名相应的字段名,并将中间表中的相应字段名所对应的字段内容作为该宽表字段名所对应的宽表字段内容,并写入该宽表字段名在数据宽表中所对应的内容位置,以将各个中间表中的字段内容聚合到数据宽表中。
本实施例中,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名。计算机设备将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识。计算机设备将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容。计算机设备将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容;每个中间表中的键内容和对应的值内容作为键值对。
计算机设备将每个数据源表中的第一标识字段名和特征字段名组织成数据宽表中的宽表字段名。计算机设备可从各个中间表中确定与宽表字段名相应的第二对象标识和相应的键内容,并将相应的第二对象标识和相应的键内容共同对应的值内容作为该宽表字段名所对应的宽表字段内容,并写入该宽表字段名在数据宽表中所对应的内容位置。按照相同的方式,可为每个宽表字段名写入对应的宽表字段内容,从而将各个中间表中的值内容聚合到数据宽表中。
本实施例中,将每个中间表中的字段内容,写入数据宽表中与相应宽表字段名对应的内容位置,以生成每个宽表字段名对应的宽表字段内容,从而能够准确地将所有中间表中的所有字段内容有效地聚合到数据宽表中,并且能够有效避免数据遗漏。
在一个实施例中,该数据源表基于目标应用的日志数据生成,该方法还包括:
当目标应用的日志数据存在更新时,确定更新的增量数据;将增量数据构建为增量表,增量表与中间表具有相同数据结构,该增量表包括增量字段名和对应的增量字段内容;将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
其中,目标应用可以包括即时通信应用、SNS(Social Network Sites,社交网站)应用、视频分享应用、通话应用、游戏应用、音乐分享应用、UGC(User Generated Content,用户生成内容)应用、支付应用,但不限于此。该目标应用可以是母应用或子应用。母应用是指能够独立运行的应用程序,子应用是指无法独立运行,需要借助母应用实现运行的应用。母应用和子应用均可以包括即时通信应用、SNS应用、短视频应用、长视频应用、游戏应用、音乐分享应用、购物出售应用、UGC应用等,在此不做过多限制。
日志数据是记录计算机设备产生的过程性事件记录数据,即计算机设备在运行的时候所产生的数据,日志数据可包括日期、时间、使用者及动作等相关操作的描述数据。
具体地,目标应用在运行过程中产生对应的日志数据,计算机设备对日志数据进行分析和整合,以存储到至少一个数据源表中。存在多个数据源表时,计算机设备将多个数据源表根据各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表,每个中间表具有相同的数据结构。计算机设备将各个数据源表的字段名组织成数据宽表中的字段名,并基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
计算机设备可每隔预设时长检测目标应用的日志数据,当目标应用的日志数据存在更新时,确定更新的日志数据,该更新的日志数据作为增量数据。计算机设备可对增量数据进行分析,以提取出增量数据中的增量字段名,以及每个字段名分别对应的增量字段内容。计算机设备根据增量数据中的增量字段名和对应的增量字段内容,为增量数据构建对应的增量表,该增量表与中间表具有相同数据结构,增量表包括增量字段名和对应的增量字段内容。计算机设备可将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容,以得到更新的数据宽表。
本实施例中,当数据宽表中不存在与增量字段内容相匹配的宽表字段名时,将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容,以得到更新的数据宽表。当数据宽表中存在与增量字段内容相匹配的宽表字段名时,将增量字段内容增加为相应宽表字段名所对应的宽表字段内容,以得到更新的数据宽表。
在本实施例中,增量数据中的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,增量表的增量字段名包括第二标识字段名、键字段名和值字段名。计算机设备将每个增量数据中各第一对象标识,作为增量表的第二标识字段名所对应的第二对象标识;将每个增量数据的各特征字段名,作为相应增量表的键字段名所对应的键内容;将每个特征字段名在所属增量数据中对应的特征内容,作为相应增量表的值字段名下与相应键内容所对应的值内容;该增量表中的键内容和对应的值内容作为键值对。当数据宽表中的宽表字段名与增量表中的键内容不匹配时,将增量表中不匹配的键内容新增为数据宽表中的宽表字段名,并将增量表中不匹配的键内容所对应第二对象标识和值内容写入数据宽表中相应宽表字段名所对应的内容位置,以得到更新的数据宽表。
在其他实施例中,增量表和中间表均为具有相同数据结构的竖表。
在一个实施例中,计算机设备可根据需求删除数据宽表中的任意列,即删除数据宽表中的任意宽表字段名以及宽带字段名对应的宽表字段内容。
本实施例中,当目标应用的日志数据存在更新时,确定更新的增量数据中的增量字段名,以及每个增量字段名对应的增量字段内容,以将增量数据构建为增量表,增量表与中间表具有相同数据结构,该增量表包括增量字段名和对应的增量字段内容。数据宽表中的宽表字段名的数量可以根据需求增加或删除,将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容,从而能够基于日志数据的更新对数据宽表增加相应的字段名和字段内容,从而灵活实现数据宽表的更新,实现数据宽表中的数据的自由增删和拼接。
如图7所示,为一个实施例中数据表处理方法的示意图。该数据处理方法包括:源地址分发、数据源表字段名序列提取、数据源表的竖表生成、全量字段名序列生成、全量竖表生成和数据宽表生成。
源地址分发:计算机设备获取需要聚合为数据宽表的多个数据源表各自的源地址,将多个数据源表各自的源地址通过spark程序分发到分布式集群中的每个服务器中,以实现后续的并行运算。
数据源表字段名序列提取,即分布式并行提取各个数据源表的字段名序列:在服务器1中,输入数据源1的源地址作为参数,采用SQL(Structured Query Language,结构化查询语言)操作提取数据源1的库表db1.table1。结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统库表db1.table1即数据源表。通过spark操作提取db1.table1中的各个字段名和字段结构,并生成由db1.table1中的各字段名组成的字段名序列
Figure 857025DEST_PATH_IMAGE042
。字段结构是指字段名和字段内容的数据类型,例如字符串型、整型、浮点型等,但不限于此。
如此类推,分布式集群中的每个服务器均部署了SQL和spark服务,每个服务器可分别并行提取数据源2、…、数据源m对应的库表db2.table2,…, dbm.tablem及对应的字段名组成字段名序列
Figure 625392DEST_PATH_IMAGE044
。其中,
Figure 447855DEST_PATH_IMAGE046
表示第i个库,
Figure 714888DEST_PATH_IMAGE048
表示第i个表,
Figure 382630DEST_PATH_IMAGE050
表示第i个表中的第
Figure 989192DEST_PATH_IMAGE052
个特征,
Figure DEST_PATH_IMAGE053_31A
表示第i个表的字段数。
数据源表的竖表生成:服务器1基于数据源表db1.table1的字段名序列,构建userid-key-value结构的竖表,其中,userid字段名对应的字段内容为数据源表db1.table1中userid字段名对应的userid取值,key字段名对应的字段内容(即键内容)为数据源表db1.table1中的字段名称
Figure DEST_PATH_IMAGE054_37A
,value字段名对应的字段内容(即值内容)为key字段名的字段内容和userid取值所对应的取值,即字段名称
Figure DEST_PATH_IMAGE055_39A
对应的取值
Figure 527096DEST_PATH_IMAGE056
,从而形成如上述图5中所示的竖表1、竖表2等。
该竖表中userid1对应的值内容为:
Figure 750267DEST_PATH_IMAGE058
,useridn1对应的值内容为:
Figure 221699DEST_PATH_IMAGE059
,其中,
Figure 745085DEST_PATH_IMAGE061
表示db1.table1的用户标识数。
如此类推,在分布式集群中的每个服务器分别并行生成上述每个数据源表对应的竖表,并将各竖表分别标记为:
Figure DEST_PATH_IMAGE062_9A
Figure 565142DEST_PATH_IMAGE064
,…,
Figure 541188DEST_PATH_IMAGE066
全量竖表生成:在spark中采用循环union的操作将分布式集群各个服务器的每个竖表
Figure DEST_PATH_IMAGE067_35A
Figure 504727DEST_PATH_IMAGE064
,…,
Figure 148198DEST_PATH_IMAGE066
按照userid、key和value进行递归聚合运算,递归聚合运算的方法如下:
Figure 686627DEST_PATH_IMAGE068
最后得到形如userid-key-value的全量竖表,全量竖表即全量数据竖表,如图5中所示的全量竖表。
全量字段名序列生成:将分布式集群中的每个服务器对应的字段名序列组织成全量字段名序列,并将全量字段名序列生成特征宽表中的各个宽表字段名。
数据宽表生成:数据宽表即特征宽表,输入全量数据竖表,将全量数据竖表中的每一行数据值进行拼接,例如,用户ID-字段名-字段名对应的字段内容,并通过循环的方式将每一行按分隔符进行切割后,将字段对应的数值存放到数据宽表中相应的宽表字段名对应的内容位置,从而生成完整的数据宽表,如图6所示。
本实施例中,采用分布式方式,通过分布式集群中的多个服务器并行对各个数据源表进行操作,以并行生成每个数据源表的竖表,能够将用户的最大信息数据特征进行保存,不会产生传统方式由于需要按照小表拼接大表的方式造成的数据丢失的问题。最后通过竖表聚合运算,将每个服务器中的竖表进行合并计算再生成数据宽表,不需要采用关联规则进行join、left join等拼接,能够有效降低由于数据量过大,或者大表拼接小表时候出现的数据倾斜的情况,从而能够避免因为数据倾斜而造成的数据运算错误、丢失及计算不出结果的情况,并且能够极大提高运算效率。
并且,本实施例中先将各个数据源表生成相同数据结构的竖表,再通过各个竖表生成数据宽表的,其数据宽表的宽表字段名主要源于每个数据源表的字段数量,当数据源表的字段数量发生变化时候,对应的竖表中的键内容和对应的值内容也发生相应变化,从而能够实现多个竖表的自由拼接,也能够自由增删特征宽表的字段,使得数据宽表可以随时根据数据源表的变化而变化。
在一个实施例中,该方法还包括:获取与待处理业务对应的数据宽表;根据待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与待处理业务相匹配的训练样本;基于训练样本对业务处理模型进行训练,得到训练完成的业务处理模型,训练完成的业务处理模型用于对待处理业务进行处理。
其中,待处理业务是指需要处理的事务,例如交易业务、对象画像构建、预测对象对资源的点击率、模型训练等,但不限于此。待处理业务对应的数据宽表可存放于业务数据库中,业务数据库中存储有不同业务的业务数据。业务数据随着业务的不同而不同,例如,交易业务的业务数据包括交易时间、交易资源、资源成交量及成交金额、交易参与方等相关信息。待处理业务为预测用户对资源的点击率,则业务数据包括但不限于用户维度、资源维度以及商家维度下的相关数据。进一步地,对于用户维度,可以从业务数据库的业务数据中,筛选出用于描述对象画像的数据,例如包括用户的性别、年龄、所处地域、历史消费金额等,作为与用户维度对应的数据源表包含的特征字段。对于资源维度,可以从业务数据库的业务数据中,筛选出用于描述资源属性的数据,例如包括资源的类型、所属地域、历史购买量、历史浏览次数、历史收藏次数、好评率等,作为与资源维度对应的数据源表包含的特征字段。对于商家维度,可以从业务数据库的业务数据中,筛选出用于描述商家画像的数据,例如包括商家所属地域、好评率、粉丝数等,作为与商家维度对应的数据源表包含的特征字段。
具体地,计算机设备可从业务数据库中获取与待处理业务对应的数据宽表,数据宽表中包括待处理业务所需的宽表字段名和对应的宽表字段内容。计算机设备可从该数据宽表筛选出与待处理业务相匹配的行记录作为与待处理业务相匹配的训练样本。例如,将数据宽表的每一行记录作为一训练样本,或者从每行记录中选择部分宽表字段内容拼接构成训练样本。
计算机设备可以将训练样本输入与待处理业务对应的业务处理模型中,以得到训练样本对应的预测结果。计算机设备可基于训练样本和训练样本对应的标签之间的差异,调整业务处理模型的网络参数并继续训练,直至满足训练停止条件时停止,得到训练完成的业务处理模型。
进一步地,计算机设备可基于预设损失函数、训练样本对应的预测结果及对应的标签,确定业务处理模型对训练样本的预测误差。基于预测误差调整业务处理模型的网络参数并继续训练,直至满足训练停止条件时停止,得到训练完成的业务处理模型。满足训练停止条件可以是业务处理模型对训练样本进行预测所得的预测误差满足预设误差要求,或者业务处理模型的训练次数达到预设次数,例如预测误差小于预设误差阈值等。
例如,待处理业务为预测用户对资源的点击率,训练样本可以包括用户维度、资源维度以及商家维度等特征字段名对应的字段内容,训练样本对应的标签可以为用户对资源的点击率,训练样本对应的预测结果可以包括用户对资源的点击率的预测值。
本实施例中,获取与待处理业务对应的数据宽表,根据待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与待处理业务相匹配的训练样本,从而能够从数据宽表中直接获取需要的数据构成训练样本,使得训练数据的采集和训练样本的构建更简单,有利于提高生成训练样本的效率。基于训练样本对业务处理模型进行训练,以得到训练完成的业务处理模型,从而通过训练完成的业务处理模型能够快速对待处理业务进行相应处理,有效提高相应业务的处理效率,并且通过训练完成的业务处理模型所得到的处理结果更准确可靠。
在一个实施例中,待处理业务为对象画像构建;该宽表字段名至少包括对象字段名、属性字段名、资源字段名和操作字段名,宽表字段内容至少包括候选对象标识、候选对象的属性内容、候选对象所关注的资源内容、候选对象对资源内容的操作内容;训练样本基于候选对象标识、属性内容、资源内容和操作内容构建;该业务处理模型为画像生成模型,训练完成的画像生成模型用于为目标对象构建对应的对象画像。
其中,对象画像可以是某个对象的画像,对象可以是用户。对象画像又称用户角色,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具。对象画像作为实际用户的虚拟代表,对象画像所形成的用户角色代表资源的主要受众和目标群体。为目标对象构建对象画像是指将对象的信息进行标签化。
具体地,当待处理业务为对象画像的构建时,计算机设备可从业务数据库获取与对象画像对应的数据宽表,该与对象画像对应的数据宽表用于存放多个候选对象的相关信息。与对象画像对应的数据宽表至少包括对象字段名、属性字段名、资源字段名和操作字段名,宽表字段内容至少包括对象字段名对应的各个候选对象标识、属性字段名对应的各候选对象的属性内容、资源字段名对应的各个候选对象所关注的资源内容、操作字段名对应的各个候选对象对资源内容的操作内容等。候选对象的属性内容至少包括候选对象的性别、年龄、所处地域等,资源内容至少包括资源类型、资源描述信息等,操作内容包括历史购买量、历史浏览次数、历史收藏次数、好评率等,但不限于此。
计算机设备可从数据宽表中,选择数据行中的候选对象标识、该候选对象标识对应的属性内容、资源内容和操作内容进行拼接,得到对应的训练样本。按照相同的处理方式,计算机设备可得到多个训练样本。计算机设备可确定每个训练样本分别对应的标签,将所构建的训练样本和对应的标签输入画像生成模型,得到画像生成模型输出的各训练样本分别对应的预测结果,基于预测结果和对应的标签之间的差异,调整画像生成模型的网络参数并继续训练,直至满足训练停止条件时停止,得到训练完成的画像生成模型。该训练完成的画像生成模型用于为目标对象生成对应的对象画像,以反馈出该目标对象相关信息。
本实施例中,待处理业务为对象画像构建,宽表字段名至少包括对象字段名、属性字段名、资源字段名和操作字段名,宽表字段内容至少包括候选对象标识、候选对象的属性内容、候选对象所关注的资源内容、候选对象对资源内容的操作内容,基于数据宽表中的候选对象标识、属性内容、资源内容和操作内容构建对应的训练样本,提高训练数据的采集和训练样本的构建效率。基于训练样本对画像生成模型进行训练,以得到训练完成的画像生成模型,从而通过训练完成的画像生成模型能够快速对目标对象构建对应的对象画像,有效提高对象画像的生成效率。
在一个实施例中,如图8所示,提供了一种数据表处理方法,应用于计算机设备,包括:
步骤S802,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器;多个数据源表中至少两个数据源表的数据结构不同。
步骤S804,通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,以及与每个字段名对应的字段内容,执行步骤S806和步骤S816。
其中,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容;竖表包括第二标识字段名、键字段名和值字段名。
步骤S806,通过多个服务器并行将每个数据源表中各第一对象标识,作为相应竖表的第二标识字段名所对应的第二对象标识;每个竖表具有相同数据结构。
步骤S808,通过多个服务器并行将每个数据源表的各特征字段名,作为相应竖表的键字段名所对应的键内容。
步骤S810,通过多个服务器并行将每个特征字段名在所属数据源表中对应的特征内容,作为相应竖表的值字段名下与相应键内容所对应的值内容;每个竖表中的键内容和对应的值内容作为键值对。
步骤S812,将两个竖表按照第二标识字段名、键字段名和值字段名进行拼接处理,并将拼接处理所生成的临时表和下一竖表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一竖表拼接所生成的表。
步骤S814,对拼接所得到的表中第二标识、键内容和值内容均相同的数据行进行去重处理,得到全量竖表。
步骤S816,将各数据源表的第一标识字段名和特征字段名组织成数据宽表中的宽表字段名。
步骤S818,将全量竖表中的第二标识、键内容和值内容,写入数据宽表中与相应宽表字段名对应的内容位置,得到数据宽表中与宽表字段名对应的宽表字段内容。
步骤S820,当目标应用的日志数据存在更新时,确定更新的增量数据;将增量数据构建为增量表,增量表与中间表具有相同数据结构,增量表包括增量字段名和对应的增量字段内容;将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
本实施例中,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器,以通过多个服务器对各个源地址所指向的数据源表进行并行操作。多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行生成每个数据源表对应的中间表中的字段名和字段内容,从而能够通过分布式方式各个数据源表进行相关操作,以并行生成每个数据源表的竖表,极大地提高了运算效率。
多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,并行生成相应数据源表对应的字段名序列,从而能够通过分布式方式各个数据源表中的字段名进行聚合操作,提高处理效率。并且,将每个数据源表对应的字段名序列组织成全量字段名序列,能够将所有数据源表的所有字段名进行整合,避免数据遗漏。
数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名,则中间表的数据结构为“对象标识-键-值”结构,将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识,将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容,将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容,使得中间表中的每行记录均为“对象标识-键-值”结构,从而得到相同数据结构的各个中间表。并且,每个中间表中的键内容和对应的值内容作为键值对,使得数据源表中的特征字段名和对应的字段内容写入中间表后,能够以键值对的形式保持映射关系,有效保证数据映射的准确性。
将至少两个中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,从而能够将多个中间表中的所有数据行,作为临时表中的数据行,以实现多个中间表的拼接。将拼接处理所生成的临时表和下一中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表,能够将所有中间表按照第二标识字段名-键字段名-值字段名进行递归拼接,从而能够将多个中间表中的数据内容完整地整合到同一张数据表中,中间表的数据结构相同使得多个中间表的拼接更简单灵活,将多个中间表按照相同数据结构拼接既能够保证各个中间表中数据被完整拼接,避免了数据遗漏,又能够维持数据结构不变,便于后续数据宽表中的字段内容的写入,从而能够准确地将所有中间表中的所有字段内容有效地聚合到数据宽表中,并且能够有效避免数据遗漏。
并且,本实施例中先将各个数据源表生成相同数据结构的竖表,再通过各个竖表生成数据宽表的,其数据宽表的宽表字段名主要源于每个数据源表的字段数量,当数据源表的字段数量发生变化时候,对应的竖表中的键内容和对应的值内容也发生相应变化,从而能够实现多个竖表的自由拼接,也能够灵活增删特征宽表的字段,使得数据宽表可以随时根据数据源表的变化而变化。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据表处理方法的数据表处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据表处理装置实施例中的具体限定可以参见上文中对于数据表处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据表处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括: 获取模块902、构建模块904、组织模块906和处理模块908,其中:
获取模块902,用于获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,多个数据源表中至少两个数据源表的数据结构不同。
构建模块904,用于根据多个数据源表各自的字段名和对应的字段内容,构建每个数据源表分别对应的中间表;每个中间表具有相同数据结构。
组织模块906,用于将各数据源表的字段名组织成数据宽表中的宽表字段名。
处理模块908,用于基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
本实施例中,需要进行拼接的多个数据源表中,至少存在两个数据源表的数据结构不同,获取多个数据源表各自的字段名以及与每个字段名对应的字段内容,以根据多个数据源表各自的字段名和对应的字段内容构建每个数据源表分别对应的中间表,而所构建的每个中间表具有相同数据结构,使得能够将不同数据结构的数据源表重新整合生成相同数据结构的中间表。将各数据源表的字段名组织成数据宽表中的宽表字段名,能够先将各个数据源表中的所有字段名完全整合到数据宽表中,以保存各个数据源表中的完整字段名信息,避免后续字段内容聚合时产生数据信息丢失的问题。进一步基于宽表字段名,对每个中间表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,从而能够通过数据聚合处理将多个数据结构相同的中间表直接进行合并,避免了使用关联规则进行连接时所造成的数据倾斜的情况,使得数据聚合以及宽表生成方式更灵活。
在一个实施例中,获取模块902,还用于获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器;通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名以及与每个字段名对应的字段内容;构建模块904,还用于通过多个服务器根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行构建相应数据源表对应的中间表。
本实施例中,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器,以通过多个服务器对各个源地址所指向的数据源表进行并行操作。多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,以及所提取字段名在所属数据源表中所对应的字段内容,并行生成每个数据源表对应的中间表中的字段名和字段内容,从而能够通过分布式方式各个数据源表进行相关操作,以并行生成每个数据源表的竖表,极大地提高了运算效率。
在一个实施例中,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名;
构建模块904,还用于将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识;将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容;将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容;每个中间表中的键内容和对应的值内容作为键值对。
本实施例中,数据源表的字段名包括第一标识字段名和特征字段名,字段内容包括第一标识字段名对应的第一对象标识和特征字段名对应的特征内容,中间表包括第二标识字段名、键字段名和值字段名,则中间表的数据结构为“对象标识-键-值”结构,将每个数据源表中各第一对象标识,作为相应中间表的第二标识字段名所对应的第二对象标识,将每个数据源表的各特征字段名,作为相应中间表的键字段名所对应的键内容,将每个特征字段名在所属数据源表中对应的特征内容,作为相应中间表的值字段名下与相应键内容所对应的值内容,使得中间表中的每行记录均为“对象标识-键-值”结构,从而得到相同数据结构的各个中间表。并且,每个中间表中的键内容和对应的值内容作为键值对,使得数据源表中的特征字段名和对应的字段内容写入中间表后,能够以键值对的形式保持映射关系,有效保证数据映射的准确性。
在一个实施例中,该装置还包括递归模块;递归模块,用于将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,得到全量表;
处理模块908,还用于基于宽表字段名,对全量表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容。
本实施例中,将相同数据结构的各个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,能够快速将多个中间表中的所有数据整合到同一张数据表中,得到包含各个中间表中的全量数据的全量表,基于宽表字段名,对全量表中的字段内容进行数据聚合处理,得到数据宽表中与宽表字段名对应的宽表字段内容,使得通过聚合运算进行中间表合并,不需要采用关联规则进行拼接、左拼接等拼接方式,能够有效降低由于数据量过大,或者大表拼接小表时候出现的数据倾斜的情况,并且能够避免因为数据倾斜而造成的数据运算错误、数据丢失及计算不出结果的情况。
在一个实施例中,该递归模块,还用于将至少两个中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,并将拼接处理所生成的临时表和下一中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表。
本实施例中,将至少两个中间表按照第二标识字段名、键字段名和值字段名进行拼接处理,从而能够将多个中间表中的所有数据行,作为临时表中的数据行,以实现多个中间表的拼接。将拼接处理所生成的临时表和下一中间表继续按照第二标识字段名、键字段名和值字段名进行拼接处理,直至得到与最后一中间表拼接所生成的全量表,能够将所有中间表按照第二标识字段名-键字段名-值字段名进行递归拼接,从而能够将多个中间表中的数据内容完整地整合到同一张数据表中,中间表的数据结构相同使得多个中间表的拼接更简单灵活,将多个中间表按照相同数据结构拼接既能够保证各个中间表中数据被完整拼接,避免了数据遗漏,又能够维持数据结构不变,便于后续数据宽表中的字段内容的写入,使得数据的写入更灵活。
在一个实施例中,该递归模块,还用于将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,并对递归聚合处理所得到的表中具有相同数据的数据行进行去重处理,得到全量表。
本实施例中,将每个中间表按照第二标识字段名、键字段名和值字段名进行递归聚合处理,并对递归聚合处理所得到的表中进行去重处理,能够删除具有相同数据的数据行,使得全量表中的数据行均不相同,避免存储重复数据占用存储空间,并且能够避免需要进行数据合并统计所造成的计算结果出错等问题。
在一个实施例中,获取模块902,还用于获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器;通过多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名;组织模块906,还用于通过多个服务器并行将各自接收的源地址所对应的数据源表中提取的字段名,组织成相应数据源表对应的字段名序列;将每个数据源表对应的字段名序列组织成全量字段名序列,并将全量字段名序列组织成数据宽表中的宽表字段名。
本实施例中,获取多个数据源表各自的源地址,并将各源地址分发至分布式集群的多个服务器,以通过多个服务器对各个源地址所指向的数据源表进行并行操作。多个服务器并行从各自接收的源地址所对应的数据源表中提取字段名,并根据各自提取的字段名,并行生成相应数据源表对应的字段名序列,从而能够通过分布式方式各个数据源表中的字段名进行聚合操作,提高处理效率。并且,将每个数据源表对应的字段名序列组织成全量字段名序列,能够将所有数据源表的所有字段名进行整合,避免数据遗漏。将全量字段名序列组织成数据宽表中的宽表字段名,能够将所有数据源表中的所有字段名整合到数据宽表中,避免数据遗漏,并且能够有效避免后续字段内容写入错误。
在一个实施例中,处理模块908,还用于将每个中间表中的字段内容,写入数据宽表中与相应宽表字段名对应的内容位置,得到数据宽表中与宽表字段名对应的宽表字段内容。
本实施例中,将每个中间表中的字段内容,写入数据宽表中与相应宽表字段名对应的内容位置,以生成每个宽表字段名对应的宽表字段内容,从而能够准确地将所有中间表中的所有字段内容有效地聚合到数据宽表中,并且能够有效避免数据遗漏。
在一个实施例中,数据源表基于目标应用的日志数据生成,该装置还包括更新模块;更新模块,用于当目标应用的日志数据存在更新时,确定更新的增量数据;将增量数据构建为增量表,增量表与中间表具有相同数据结构,增量表包括增量字段名和对应的增量字段内容;将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
本实施例中,当目标应用的日志数据存在更新时,确定更新的增量数据中的增量字段名,以及每个增量字段名对应的增量字段内容,以将增量数据构建为增量表,增量表与中间表具有相同数据结构,该增量表包括增量字段名和对应的增量字段内容。数据宽表中的宽表字段名的数量可以根据需求增加或删除,将增量字段名增加为数据宽表的宽表字段名,并将增量字段内容增加为相应宽表字段名所对应的宽表字段内容,从而能够基于日志数据的更新对数据宽表增加相应的字段名和字段内容,从而灵活实现数据宽表的更新,实现数据宽表中的数据的自由增删和拼接。
在一个实施例中,该装置还包括训练模块;训练模块,用于获取与待处理业务对应的数据宽表;根据待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与待处理业务相匹配的训练样本;基于训练样本对业务处理模型进行训练,得到训练完成的业务处理模型,训练完成的业务处理模型用于对待处理业务进行处理。
本实施例中,获取与待处理业务对应的数据宽表,根据待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与待处理业务相匹配的训练样本,从而能够从数据宽表中直接获取需要的数据构成训练样本,使得训练数据的采集和训练样本的构建更简单,有利于提高生成训练样本的效率。基于训练样本对业务处理模型进行训练,以得到训练完成的业务处理模型,从而通过训练完成的业务处理模型能够快速对待处理业务进行相应处理,有效提高相应业务的处理效率,并且通过训练完成的业务处理模型所得到的处理结果更准确可靠。
在一个实施例中,待处理业务为对象画像构建;宽表字段名至少包括对象字段名、属性字段名、资源字段名、操作字段名,宽表字段内容至少包括候选对象标识、候选对象的属性内容、候选对象所关注的资源内容、候选对象对资源内容的操作内容;训练样本基于候选对象标识、属性内容、资源内容和操作内容构建;业务处理模型为画像生成模型,训练完成的画像生成模型用于为目标对象构建对应的对象画像。
本实施例中,待处理业务为对象画像构建,宽表字段名至少包括对象字段名、属性字段名、资源字段名和操作字段名,宽表字段内容至少包括候选对象标识、候选对象的属性内容、候选对象所关注的资源内容、候选对象对资源内容的操作内容,基于数据宽表中的候选对象标识、属性内容、资源内容和操作内容构建对应的训练样本,提高训练数据的采集和训练样本的构建效率。基于训练样本对画像生成模型进行训练,以得到训练完成的画像生成模型,从而通过训练完成的画像生成模型能够快速对目标对象构建对应的对象画像,有效提高对象画像的生成效率。
上述数据表处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器。本实施例中以服务器为例,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据表的相关处理数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据表处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (20)

1.一种数据表处理方法,其特征在于,所述方法包括:
获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;所述数据源表的字段名包括第一标识字段名和特征字段名,所述字段内容包括所述第一标识字段名对应的第一对象标识和所述特征字段名对应的特征内容;
将每个所述数据源表中各所述第一对象标识,作为相应竖表的第二标识字段名所对应的第二对象标识;每个所述竖表具有相同数据结构,所述数据结构为对象标识-键-值结构;同一竖表中所述第二标识字段名下的各第二对象标识相同;
将每个所述数据源表的各所述特征字段名,作为相应竖表的键字段名所对应的键内容;同一竖表中所述键字段名下的各个键内容不同;
将每个所述特征字段名在所属数据源表中对应的特征内容,作为相应竖表的值字段名下与相应键内容所对应的值内容;每个所述竖表中的键内容和对应的值内容形成键值对;
根据每个所述竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将每个所述竖表中包括第二对象标识、键内容和值内容的数据行进行递归聚合处理,得到全量竖表;所述全量竖表与所述竖表的数据结构相同;
将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
基于所述宽表字段名,对所述全量竖表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
2.根据权利要求1所述的方法,其特征在于,所述获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,包括:
获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;
通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名以及与每个所述字段名对应的字段内容。
3.根据权利要求1所述的方法,其特征在于,所述根据每个所述竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将每个所述竖表中包括第二对象标识、键内容和值内容的数据行进行递归聚合处理,得到全量竖表,包括:
根据至少两个竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将所述至少两个竖表中包括第二对象标识、键内容和值内容的数据行进行拼接处理,并将拼接处理所生成的临时表和下一竖表继续按照所述第二标识字段名、所述键字段名和所述值字段名进行拼接处理,直至得到与最后一竖表拼接所生成的全量竖表。
4.根据权利要求1所述的方法,其特征在于,所述根据每个所述竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将每个所述竖表中包括第二对象标识、键内容和值内容的数据行进行递归聚合处理,得到全量竖表,包括:
根据每个所述竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将每个所述竖表中包括第二对象标识、键内容和值内容的数据行进行递归聚合处理,并对递归聚合处理所得到的竖表中具有相同数据的数据行进行去重处理,得到全量竖表。
5.根据权利要求1所述的方法,其特征在于,所述获取多个数据源表各自的字段名,包括:
获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;
通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名;
所述将各所述数据源表的字段名组织成数据宽表中的宽表字段名,包括:
通过多个所述服务器并行将各自接收的源地址所对应的数据源表中提取的字段名,组织成相应数据源表对应的字段名序列;
将每个所述数据源表对应的字段名序列组织成全量字段名序列,并将所述全量字段名序列组织成数据宽表中的宽表字段名。
6.根据权利要求1所述的方法,其特征在于,所述基于所述宽表字段名,对所述全量竖表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容,包括:
将所述全量竖表中的字段内容,写入所述数据宽表中与相应宽表字段名对应的内容位置,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
7.根据权利要求1所述的方法,其特征在于,所述数据源表基于目标应用的日志数据生成,所述方法还包括:
当所述目标应用的日志数据存在更新时,确定更新的增量数据;
将所述增量数据构建为增量表,所述增量表与所述竖表具有相同数据结构,所述增量表包括增量字段名和对应的增量字段内容;
将所述增量字段名增加为所述数据宽表的宽表字段名,并将所述增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
获取与待处理业务对应的数据宽表;
根据所述待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与所述待处理业务相匹配的训练样本;
基于所述训练样本对业务处理模型进行训练,得到训练完成的业务处理模型,所述训练完成的业务处理模型用于对所述待处理业务进行处理。
9.根据权利要求8所述的方法,其特征在于,所述待处理业务为对象画像构建;所述宽表字段名至少包括对象字段名、属性字段名、资源字段名、操作字段名,所述宽表字段内容至少包括候选对象标识、候选对象的属性内容、所述候选对象所关注的资源内容、所述候选对象对资源内容的操作内容;所述训练样本基于所述候选对象标识、所述属性内容、所述资源内容和所述操作内容构建;所述业务处理模型为画像生成模型,训练完成的画像生成模型用于为目标对象构建对应的对象画像。
10.一种数据表处理装置,其特征在于,所述装置包括:
获取模块,用于获取多个数据源表各自的字段名以及与每个所述字段名对应的字段内容,所述多个数据源表中至少两个数据源表的数据结构不同;所述数据源表的字段名包括第一标识字段名和特征字段名,所述字段内容包括所述第一标识字段名对应的第一对象标识和所述特征字段名对应的特征内容;
构建模块,用于将每个所述数据源表中各所述第一对象标识,作为相应竖表的第二标识字段名所对应的第二对象标识;每个所述竖表具有相同数据结构,所述数据结构为对象标识-键-值结构;将每个所述数据源表的各所述特征字段名,作为相应竖表的键字段名所对应的键内容;将每个所述特征字段名在所属数据源表中对应的特征内容,作为相应竖表的值字段名下与相应键内容所对应的值内容;每个所述竖表中的键内容和对应的值内容形成键值对;同一竖表中所述第二标识字段名下的各第二对象标识相同;同一竖表中所述键字段名下的各个键内容不同;
递归模块,用于根据每个所述竖表中的所述第二标识字段名、所述键字段名和所述值字段名,将每个所述竖表中包括第二对象标识、键内容和值内容的数据行进行递归聚合处理,得到全量竖表;所述全量竖表与所述竖表的数据结构相同;
组织模块,用于将各所述数据源表的字段名组织成数据宽表中的宽表字段名;
处理模块,用于基于所述宽表字段名,对所述全量竖表中的字段内容进行数据聚合处理,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
11.根据权利要求10所述的装置,其特征在于,所述获取模块,还用于获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名以及与每个所述字段名对应的字段内容。
12.根据权利要求10所述的装置,其特征在于,所述递归模块,还用于将至少两个竖表按照所述第二标识字段名、所述键字段名和所述值字段名进行拼接处理,并将拼接处理所生成的临时表和下一竖表继续按照所述第二标识字段名、所述键字段名和所述值字段名进行拼接处理,直至得到与最后一竖表拼接所生成的全量表。
13.根据权利要求10所述的装置,其特征在于,所述递归模块,还用于将每个所述竖表按照所述第二标识字段名、所述键字段名和所述值字段名进行递归聚合处理,并对递归聚合处理所得到的表中具有相同数据的数据行进行去重处理,得到全量表。
14.根据权利要求10所述的装置,其特征在于,所述获取模块,还用于获取多个数据源表各自的源地址,并将各所述源地址分发至分布式集群的多个服务器;通过多个所述服务器并行从各自接收的源地址所对应的数据源表中提取字段名;
所述组织模块,还用于通过多个所述服务器并行将各自接收的源地址所对应的数据源表中提取的字段名,组织成相应数据源表对应的字段名序列;将每个所述数据源表对应的字段名序列组织成全量字段名序列,并将所述全量字段名序列组织成数据宽表中的宽表字段名。
15.根据权利要求10所述的装置,其特征在于,所述处理模块,还用于将每个所述竖表中的值内容,写入所述数据宽表中与相应宽表字段名对应的内容位置,得到所述数据宽表中与所述宽表字段名对应的宽表字段内容。
16.根据权利要求10所述的装置,其特征在于,所述数据源表基于目标应用的日志数据生成,所述装置还包括更新模块;所述更新模块,用于当所述目标应用的日志数据存在更新时,确定更新的增量数据;将所述增量数据构建为增量表,所述增量表与所述竖表具有相同数据结构,所述增量表包括增量字段名和对应的增量字段内容;将所述增量字段名增加为所述数据宽表的宽表字段名,并将所述增量字段内容增加为相应宽表字段名所对应的宽表字段内容。
17.根据权利要求10至16任意一项所述的装置,其特征在于,所述装置还包括训练模块;所述训练模块,用于获取与待处理业务对应的数据宽表;根据所述待处理业务对应的数据宽表中的宽表字段名和对应的宽表字段内容,构建与所述待处理业务相匹配的训练样本;基于所述训练样本对业务处理模型进行训练,得到训练完成的业务处理模型,所述训练完成的业务处理模型用于对所述待处理业务进行处理。
18.根据权利要求17所述的装置,其特征在于,所述待处理业务为对象画像构建;所述宽表字段名至少包括对象字段名、属性字段名、资源字段名、操作字段名,所述宽表字段内容至少包括候选对象标识、候选对象的属性内容、所述候选对象所关注的资源内容、所述候选对象对资源内容的操作内容;所述训练样本基于所述候选对象标识、所述属性内容、所述资源内容和所述操作内容构建;所述业务处理模型为画像生成模型,训练完成的画像生成模型用于为目标对象构建对应的对象画像。
19.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202210483492.9A 2022-05-06 2022-05-06 数据表处理方法、装置、计算机设备和存储介质 Active CN114579584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210483492.9A CN114579584B (zh) 2022-05-06 2022-05-06 数据表处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210483492.9A CN114579584B (zh) 2022-05-06 2022-05-06 数据表处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114579584A CN114579584A (zh) 2022-06-03
CN114579584B true CN114579584B (zh) 2022-08-09

Family

ID=81784738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210483492.9A Active CN114579584B (zh) 2022-05-06 2022-05-06 数据表处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114579584B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150211B (zh) * 2023-04-18 2023-08-18 北京江融信科技有限公司 一种多数据源查询方法、平台以及应用系统
CN117609210B (zh) * 2023-11-30 2024-08-09 上海一谈网络科技有限公司 数据表处理方法、装置、计算机设备和存储介质
CN117390040B (zh) * 2023-12-11 2024-03-29 深圳大道云科技有限公司 基于实时宽表的业务请求处理方法、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020000126A1 (en) * 2018-06-25 2020-01-02 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for generating a wide table
CN110502519B (zh) * 2019-08-26 2022-04-29 北京启迪区块链科技发展有限公司 一种数据聚合的方法、装置、设备及存储介质
CN110888774B (zh) * 2019-11-07 2023-06-23 中盈优创资讯科技有限公司 基于hbase的大数据报表处理方法及装置
CN111882368B (zh) * 2020-08-11 2023-12-05 北京云和互动信息技术有限公司 一种在线广告dpi加密埋点及透传跟踪的方法
CN114154048A (zh) * 2020-09-04 2022-03-08 腾讯科技(深圳)有限公司 构建推荐模型的方法、装置、电子设备及存储介质
CN114385620A (zh) * 2020-10-19 2022-04-22 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质
CN113535817B (zh) * 2021-07-13 2024-05-14 浙江网商银行股份有限公司 特征宽表生成及业务处理模型的训练方法和装置
CN113505265B (zh) * 2021-07-27 2024-03-01 北京达佳互联信息技术有限公司 数据的查询方法、装置及电子设备、存储介质、程序产品

Also Published As

Publication number Publication date
CN114579584A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN114579584B (zh) 数据表处理方法、装置、计算机设备和存储介质
CN110728317A (zh) 决策树模型的训练方法、系统、存储介质及预测方法
WO2019015631A1 (zh) 生成机器学习样本的组合特征的方法及系统
CN107430610A (zh) 从分布式数据学习
CN111291125B (zh) 一种数据处理方法及相关设备
CN115344698A (zh) 标签处理方法、装置、计算机设备、存储介质和程序产品
CN114398864A (zh) 报表显示方法、装置、设备及存储介质
CN112597399B (zh) 图数据处理方法、装置、计算机设备和存储介质
CN113656589B (zh) 对象属性确定方法、装置、计算机设备及存储介质
CN117033765A (zh) 业务推荐方法、装置、计算机设备和存储介质
Cao E-Commerce Big Data Mining and Analytics
CN115114519A (zh) 基于人工智能的推荐方法、装置、电子设备及存储介质
Hameed et al. Business intelligence: Self adapting and prioritizing database algorithm for providing big data insight in domain knowledge and processing of volume based instructions based on scheduled and contextual shifting of data
CN113705071A (zh) 设备识别方法、装置、设备及存储介质
CN111460300A (zh) 网络内容推送方法、装置及存储介质
CN111753206B (zh) 信息推送的方法和系统
CN117251820A (zh) 数据处理方法、装置、计算机设备和存储介质
Sadouki et al. A Deep Learning Architecture for Profile Enrichment and Content Recommendation
CN116881374A (zh) 知识图谱的构建方法、装置、计算机设备和存储介质
CN117909517A (zh) 知识图谱补全方法、装置、设备、存储介质和程序产品
CN117290585A (zh) 确定推荐信息方法、装置、计算机设备和存储介质
CN116091209A (zh) 信贷业务处理方法、装置、计算机设备和存储介质
CN115238160A (zh) 媒体资源的标签确定方法和装置、存储介质及电子设备
CN117312660A (zh) 项目推送方法、装置、计算机设备和存储介质
CN116976991A (zh) 广告推荐数据确定方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant