CN117494666A - 一种表格文件的转换方法和装置、电子设备及存储介质 - Google Patents
一种表格文件的转换方法和装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117494666A CN117494666A CN202311682678.8A CN202311682678A CN117494666A CN 117494666 A CN117494666 A CN 117494666A CN 202311682678 A CN202311682678 A CN 202311682678A CN 117494666 A CN117494666 A CN 117494666A
- Authority
- CN
- China
- Prior art keywords
- file
- table file
- source
- blank
- array
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000006243 chemical reaction Methods 0.000 claims abstract description 39
- 238000005192 partition Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 abstract description 40
- 230000006835 compression Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种表格文件的转换方法和装置、电子设备及存储介质,属于数据处理技术领域。该转换方法包括:获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;对所述配置表进行数组化处理,得到第一数组;对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。本申请实施例能够提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种表格文件的转换方法和装置、电子设备及存储介质。
背景技术
在IT生态提倡降本增效的大背景下,涉及大数据项目的相关企业选择对存储在数据仓库的数据进行优化整理,以此实现降本增效的目的。数据仓库在建设初期由于对表创建这一内容并没有规范的宣导,导致存在大量的表格文件的存储格式为txt格式,在同样的数据内容的情况下,其占用的存储空间是存储格式为orc格式的表格文件的数倍,且txt表的查表效率并没有orc表的查表效率高。
目前,数据仓库中存在的txt表的数量往往较多,且每个txt表的数据量非常大,其数据量级通常在TB级别及以上,在这一情况下,若以人工方式在hive客户端手动执行sql语句,实现txt表的改造所需的改造时间长,改造效率低,且不能实现txt表的批量改造,人工干预的次数较多。
因此,现有技术存在的问题还亟需解决和优化。
发明内容
本申请实施例的主要目的在于提出一种表格文件的转换方法和装置、电子设备及存储介质,旨在提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
为实现上述目的,本申请实施例的第一方面提出了一种表格文件的转换方法,所述转换方法包括:
获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
对所述配置表进行数组化处理,得到第一数组;
对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
在一些实施例,所述对所述配置表进行数组化处理,得到第一数组,包括:
对所述配置表中的各个源表格文件的文件名信息进行查询处理,得到各个与所述文件名信息对应的表结果字符串;
根据各个所述表结果字符串得到所述第一数组。
在一些实施例,所述对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件这一步骤,包括:
获取所述第一数组当前的表结果字符串;
对所述当前的表结果字符串对应的源表格文件进行验证;
若所述源表格文件的验证结果为不存在,则对所述第一数组下一个表结果字符串进行验证;或者,若所述源表格文件的验证结果为存在,创建与所述源表格文件对应的空白表格文件。
在一些实施例,所述创建与所述源表格文件对应的空白表格文件,包括:
对所述源表格文件对应的源目标表格文件进行验证;
若所述源目标表格文件的验证结果为存在,则删除所述源目标表格文件,并创建初始表格文件,所述初始表格文件的文件属性和所述源表格文件的文件属性相同;
对所述初始表格文件进行格式处理,得到所述空白表格文件。
在一些实施例,所述根据所述源表格文件,对所述空白表格文件进行填充处理这一步骤,包括:
确定当前的空白表格文件对应的第一源表格文件;
对所述第一源表格文件进行分区表类型分析处理,得到所述第一源表格文件的类型结果;
根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充。
在一些实施例,所述根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充,包括:
若所述类型结果为非分区表,则根据所述第一源表格文件对所述当前的空白表格文件进行写入填充处理。
在一些实施例,所述根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充,包括:
若所述类型结果为分区表,则获取所述第一源表格文件对应的分区字段;
根据各个所述分区字段生成第二数组;
根据所述第二数组对所述当前的空白表格文件进行遍历填充。
为实现上述目的,本申请实施例的第二方面提出了一种表格文件的转换装置,所述转换装置包括:
获取模块,用于获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
处理模块,用于对所述配置表进行数组化处理,得到第一数组;
遍历模块,用于对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
填充模块,用于根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的表格文件的转换方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的表格文件的转换方法。
本申请提出的表格文件的转换方法和装置、电子设备及存储介质,其通过获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;对所述配置表进行数组化处理,得到第一数组;对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。该转换方法可以有效提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表达本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本申请实施例提供的一种表格文件的转换方法的流程原理示意图;
图2是图1中的步骤S103的流程原理示意图;
图3是图1中的步骤S104的流程原理示意图;
图4是图3中的步骤S403的流程原理示意图;
图5是本申请实施例提供的一种表格文件的转换装置的结构示意图;
图6是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
数据仓库:是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建,为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。从功能结构角度来看,数据仓库系统包括数据获取、数据存储和数据访问三个部分。
txt表:是一种纯文本文件格式的表格文件,可以用来存储文本数据和信息,存储方式为行式存储。但在数据仓库中,对txt表进行检索时,所占用的磁盘空间资源较大,对txt表的数据解析所需的磁盘空间较大,且当txt表被压缩处理后,无法直接通过hive客户端对压缩的txt表进行合并和拆分处理,便捷性不高。
orc表:是一种存储方式为列式存储的表格文件,可以支持多种索引方式。它具有多种文件压缩方式,且压缩比较高。相较于txt表,orc表所占用的磁盘空间资源较少,在数据导入、聚合查询、单表查询、单层或多层带有复杂数据构成的表查询等情况具有较优的性能。
hive客户端:是一个基于Hadoop框架的数据仓库工具,其可以将结构化的数据映射为一张数据库表,并提供HQL(Hive SQL)查询功能。它通过使用Hadoop分布式系统(HDFS)作为底层存储,提供创建表、定义表结构、分区表和分区桶等用于组织和管理数据的功能。
sql语句:是一种数据库查询和程序设计语言,可以分为数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)和数据控制语言(DCL)四类。其中,数据定义语言常用于创建、修改或删除数据库中的表、视图、索引等对象的操作;数据查询语言(DQL)常用于根据指定的组合、条件表达式或排序检索已存在数据库中的数据;数据操纵语言(DML)常用于向表中添加、删除、或修改数据等操作;数据控制语言(DCL)常用于授予或收回访问数据库的某种特权、龙之数据操纵事务的发生时间及效果、对数据库进行监视等操作。
目前,数据仓库中存在的txt表的数量往往较多,且每个txt表的数据量非常大,其数据量级通常在TB级别及以上,在这一情况下,若以人工方式在hive客户端手动执行sql语句,实现txt表的改造所需的改造时间长,改造效率低,且不能实现txt表的批量改造,人工干预的次数较多。
具体地,以hive数据仓库中的分区txt表需要改造为orc表为例,现有表格文件的优化整理流程大致是通过以下步骤完成的:
首先,在hive数据仓库中使用DQL语句获取到分区txt表的表字段类型;
然后,根据得到的表字段类型,通过DDL语句创建对应的orc表;
接着,通过多条sql语句查找分区txt表对应的源txt表全表数据,并将源txt表全表数据动态写入到对应的orc表中;
最后,在源txt表备份至orc表后,通过DDL语句将源txt表进行删除,以及对orc表进行重命名,以此完成表格文件的改造。
可以理解的是,现有表格文件的优化整理流程中,每对一个txt表进行改造都需要人为介入至少4次,人工干预的次数较多。还有,由于数据仓库中的txt的数据量非常大,其数据量往往大于10TB,在源txt表全表数据动态写入到对应的orc表这一过程中,会出现shuffle过程(该过程包括分区、写入内存缓冲区、分区排序、合并生成溢出写文件、以及归并),这一shuffle过程所需的时间较长,导致数据备份效率低下,在实际应用中,其往往需要十几个小时甚至更多才能完成一个源txt表全表数据的动态写入,在对一个或多个需要改造的表格文件进行改造时,改造效率较为低下。
基于此,本申请实施例提供了一种表格文件的转换方法和装置、电子设备及存储介质,旨在提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
本申请实施例提供的一种表格文件的转换方法和装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的一种表格文件的转换方法。
本申请实施例提供的表格文件的转换方法,可以应用于数字医疗应用场景中。在数字医疗应用场景中,医疗大数据主要包括个人属性数据、个人健康状况数据、医疗应用数据、医疗支付数据、卫生资源数据等,这些数据具有数据海量化、数据存储结构多样化(例如结构化数据表、非结构化文本文档等)的特点,对数据仓库的各项性能要求较高。
示例性地,在数据医疗应用场景下,医疗机构存储在数据仓库中的医疗大数据,可以通过本申请实施例提供的转换方法对表格文件中的txt表进行灵活、批量地改造,可以提高表格文件的改造效率,减少人工干预的次数,可以有效释放数据仓库的存储资源,提高数据仓库与医疗终端之间的数据交互及时性。
本申请实施例提供的表格文件的转换方法,可以应用于数字金融应用领域。在数字金融应用领域中,表格文件数据被广泛应用于许多方面,包括但不限于以下情况:
财务报表:金融机构和企业会根据会计准则编制财务报表,包括资产负债表、利润表和现金流量表等。这些报表通常以表格形式展示,并包含各类财务指标和数据,如营收、成本、债务等。
风险管理:金融机构需要对市场风险、信用风险和操作风险等进行管理和监控。表格文件数据可用于收集和分析各类风险指标,如市场价格、交易量、违约率等,以评估和控制风险。
交易记录:金融交易中产生大量的数据,包括交易方、交易金额、交易时间等。这些数据可以以表格的形式进行记录和处理,用于交易结算、风控和数据分析等。
客户管理:金融机构需要管理和维护客户信息,包括个人、企业客户的基本信息、交易记录等。这些信息通常以表格形式存储,以方便查询和分析客户数据。
信用评分:金融机构会根据客户的信用情况进行评估和决策,表格文件数据可用于收集和计算客户的信用指标,如征信记录、收入水平、借贷历史等。
示例性地,在数据金融应用场景下,金融机构存储在数据仓库中的表格文件数据,可以通过本申请实施例提供的转换方法对表格文件中的txt表进行灵活、批量地改造,可以提高表格文件的改造效率,减少人工干预的次数,可以减少表格文件在数据仓库占用的存储空间,提高数据仓库与金融终端之间的数据交互及时性。
本申请实施例提供的表格文件的转换方法,可以应用于云计算应用场景中。在云计算应用场景中,云计算服务提供商可以通过本申请实施例提供的转换方法对客户上传的表格文件数据进行转换,可以有效减少客户上传的表格文件数据在云数据库中占用的存储资源,从而提高云数据仓库与云终端之间数据交互的及时性。
本申请实施例提供的表格文件的转换方法,涉及数据处理技术领域。本申请实施例提供的表格文件的转换方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现表格文件的转换方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
图1是本申请实施例提供的表格文件的转换方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S104。
步骤S101、获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
步骤S102、对所述配置表进行数组化处理,得到第一数组;
步骤S103、对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
步骤S104、根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
本申请实施例所示意的步骤S101至步骤S104,通过获取写入了待改造表(源表格文件)的文件名信息的配置表,并根据配置表中的各个文件名信息进行数组化处理,得到第一数组;然后,遍历第一数组,为第一数组中各个元素分别建立对应的空白表格文件,并将生成的各个空白表格文件作为第一数据集;接着,根据配置表中,文件名信息对应的源表格文件,对该源表格文件对应的空白表格文件进行内容填充,将源表格文件的数据备份至空白表格文件,数据备份完成后,删除源表格文件,并对备份完成的空白表格文件的文件名进行变更,文件名变更后得到与该源表格文件对应的目标表格文件。还有,遍历第一数组生成的空白表格文件往往有多个,故可以通过重复前述内容,以此实现各个空白表格文件的填充处理,并将得到的各个目标表格文件作为第二数据集。
可以理解的是,第二数据集可以通过hive客户端向用户展示对待改造表的改造结果,已改造的表格文件数量,改造后的表格文件名称、类型、改造时间等内容,对备份完成的空白表格文件名进行变更可以是将源表格文件的文件名信息作为备份完成的空白目标文件的文件名信息,本申请示例仅作说明,并非对本申请作出任何限制,满足实际需求即可。
在一些实施例的步骤S101的获取配置表中,配置表可以用户提供的,也可以是hive客户端内置的。具体地,用户可以预先创建配置表,并将需要改造的表格文件的文件名信息写入配置表中,各个文件名信息之间可以通过分隔符进行分隔,随后上传至hive客户端中;或者,用户可以直接打开内置在hive客户端的配置表,并在配置表中写入待改造表的文件名信息;亦或者,用户可以在hive客户端通过sql语句查询到一个或多个特定类型的表格文件,然后,将以上类型的表格文件的文件名信息自动写入至配置表中。值得一提的是,文件名信息可以是待改造表(源表格文件)的表名,对各个文件名信息之间进行分隔的分隔符可以由用户自行定义,优选地,在本申请实施例中,分隔符可以是“,”、“;”、“.”等字符,也可以是其它字符,本申请示例仅作说明,并非对本申请作出限制,满足实际需求即可。还有,通过配置表对待改造表进行配置的方式,可以灵活、批量地配置需要改造的表格文件,即通过软编码的方式对用户输入、配置表等信息进行编码,可以有效减少硬编码的次数;同时,工作人员在对下一批次的源表格文件进行改造时,不需要对脚本代码进行修改,可以有效减少人工干预的次数。
在一些实施例中,所述步骤S102、对所述配置表进行数组化处理,得到第一数组可以包括但不限于包括步骤S201至步骤S202:
步骤S201、对所述配置表中的各个源表格文件的文件名信息进行查询处理,得到各个与所述文件名信息对应的表结果字符串;
步骤S202、根据各个所述表结果字符串得到所述第一数组。
在一些实施例的步骤S201、对所述配置表中的各个源表格文件的文件名信息进行查询处理,得到各个与所述文件名信息对应的表结果字符串中,查询处理查询出来的结果有多种可能的表现形式,多种可能的表现形式受查询的方式影响,本申请对具体的查询方式并不作任何限制,满足实际需求即可。
示例性地,查询处理可以是通过hive客户端中的sqoop组件执行相应的sql语句,以此从关系型数据库中对应的配置表中查询出结果字符串,该结果字符串包括拼接了各个源表格文件的文件名信息对应的表结果字符串,随后,在hive客户端执行相应的shell脚本指令对经查询处理后,查询出的结果字符串进行解析,以此获得各个源表格文件的文件名信息对应的表结果字符串。
在一些实施例的步骤S202、根据各个所述表结果字符串得到所述第一数组中,可以通过sql语句生成空白数组,该空白数组中的空白元素的数量于表结果字符串的数量相同;亦或者,也可以生成空白元素的数量大于表结果字符串的数量的空白数组,多余的空白元素可以根据实际情况进行填充,随后将表结果字符串添加至空白数组中,得到第一数组。可以预见的是,将表结果字符串添加至空白数组这一过程可以是循环迭代添加,在添加前可以根据预设的规则对表结果字符串进行排序等,本申请在此就不再多余赘述。
请参阅图2,在一些实施例中,所述步骤S103、对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件这一步骤可以包括但不限于包括步骤S301至S303:
步骤S301、获取所述第一数组当前的表结果字符串;
步骤S302、对所述当前的表结果字符串对应的源表格文件进行验证;
可以理解的是,在创建空白表格文件之前,需要预先对第一数组中的表结果字符串对应的源表格文件进行验证,以此确定txt格式的源表格文件是否存在,以此避免在后续处理中出现错误提示。
步骤S303、若所述源表格文件的验证结果为不存在,则对所述第一数组下一个表结果字符串进行验证;或者,若所述源表格文件的验证结果为存在,创建与所述源表格文件对应的空白表格文件。
需要说明的是,可以通过sql语句对当前的表结果字符串对应的源表格文件进行验证。示例性地,可以通过sql语句“SHOW TABLES LIKE‘table_name’”对当前的表结果字符串对应的源表格文件进行验证,其中,“table_name”为表结果字符串,当数据仓库中存在对应的源表格文件,则会显示对应的源表格文件的文件名,否则返回空结果,亦或者,可以通过hive客户端执行“desc table_name;hql”这一语句,若hive客户端执行成功,则说明数据仓库中存在对应的源表格文件,若执行不成功,则说明数据仓库中不存在对应的源表格文件。
可以理解的是,当源表格文件的验证结果为不存在时,则意味着待改造表并不存在数据仓库中,此时说明配置表中写入的文件名信息存在错误,需要将该错误抛出,并对第一数组中的下一个表结果字符串进行验证,以此实现第一数组的正常遍历。还有,当源表格文件的验证结果为存在,则说明待改造表存在于数据仓库中,此时说明hive客户端可以找到对应的源表格文件,需要对源表格文件进行改造,此时可以创建与源表格文件对应的空白表格文件,并等待进一步地处理。还有,“desc table_name”这一语句可以用于将源表格文件的字段、字段类型等表格文件信息进行展示,若这一语句执行成功,则源表格文件的字段、字段类型等表格文件信息将会被展示,则源表格文件的验证结果为存在,反之则为不存在,本申请在此就不再多余赘述。
在一些实施例中,所述步骤S303、创建与所述源表格文件对应的空白表格文件这一步骤可以包括但不限于包括步骤S3031至S3033:
步骤S3031、对所述源表格文件对应的源目标表格文件进行验证;
步骤S3032、若所述源目标表格文件的验证结果为存在,则删除所述源目标表格文件,并创建初始表格文件,所述初始表格文件的文件属性和所述源表格文件的文件属性相同;
步骤S3033、对所述初始表格文件进行格式处理,得到所述空白表格文件。
可以理解的是,在创建空白表格文件之前,数据仓库中可能存在源目标表格文件,源目标表格文件的文件名与源表格文件的文件名相同,文件格式存在差异,源目标表格文件的文件格式可以是orc格式,源表格文件的文件格式可以是txt格式。当与源表格文件对应的源目标表格文件存在时,需要对该源目标表格文件进行删除,以此避免在后续的文件重命名过程中出现错误提示。在删除源目标表格文件后,可以根据源表格文件的表结构创建初始表格文件,以此实现初始表格文件的文件属性和源表格文件的文件属性相同,并对初始表格文件进行格式处理,格式处理包括存储格式调整以及压缩格式调整,格式处理后的初始表格文件将作为空白表格文件。还可以理解的是,当源目标表格文件的验证结果为不存在,则说明数据仓库中并不存在与源表格文件的文件名相同的源目标表格文件,此时可以直接创建初始表格文件。
示例性地,在本申请实施例中,可以通过以下sql语句创建空白表格文件:
create table源表名_orc_tmp like源表;
alter table源表名_orc_tmp set FILEFORMAT ORC;
ALTER TABLE源表名_orc_tmp SET TBLPROPERTIES('orc.compress'='SNAPPY');
其中,“create table源表名_orc_tmp like源表”这一语句会根据源表格文件的表结构创建一个和源表格文件的字段,字段类型,文件存储格式等信息一模一样的表格文件,其差异在于表格文件的文件名信息不一致,通过该方法就可以无需知道源表格文件的字段、字段类型、表字段注释、表格文件名注释等信息就可以创建相应的表格文件。需要说明的是,上述sql语句中的“源表名”用于表征初始表格文件的文件名信息,“源表”用于表征源表格文件。
进一步需要说明的是,“alter table源表名_orc_tmp set FILEFORMAT ORC”这一语句用于将生成的表格文件的存储格式设置为orc文件格式,“ALTER TABLE源表名_orc_tmp SET TBLPROPERTIES('orc.compress'='SNAPPY')”这一语句用于设定生成的表格文件的文件压缩格式,具体文件压缩格式为snappy压缩格式。值得一提的是,snappy压缩格式具有较高的压缩效率,是本申请实施例的较优选择;另外,生成的表格文件还可以有其它的文件压缩格式,本领域技术人员可以根据实际情况,灵活变化,采用其它的文件压缩格式对生成的表格文件进行压缩处理。
可以理解的是,传统的创建表格文件的方式往往需要提前获取到原始表格文件的字段、字段类型、表格文件字段注释、表格文件的文件名注释等表格文件信息,在人工创建时容易出现遗漏部分表格信息,进而导致根据原始表格文件创建的目标表格文件的表格信息不一致情况的出现。而本申请通过根据源表格文件直接创建与源表格文件文件属性属性相同的初始表格文件,随后再对初始表格文件进行格式处理,可以免除提前获取源表格文件的字段、字段类型、表格文件字段注释、表格文件的文件名注释等表格文件信息,从而有效避免创建表格文件存在的遗漏表格信息的情况发生,可以使得创建的空白表格文件与源表格文件的文件属性具有一致性。还有,相较于传统的创建表格文件所使用的sql语句,根据步骤S3031至步骤S3033的方法步骤生成的sql语句更为简单,本申请在此就不再多余赘述。
请参阅图3,在一些实施例中,所述步骤S104、根据所述源表格文件,对所述空白表格文件进行填充处理这一步骤可以包括但不限于包括步骤S401至S403:
步骤S401、确定当前的空白表格文件对应的第一源表格文件;
步骤S402、对所述第一源表格文件进行分区表类型分析处理,得到所述第一源表格文件的类型结果;
步骤S403、根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充。
可以理解的是,由于第一数据集表征空白表格文件的集合,第一数据集中含有至少一个空白表格文件,每一个空白表格文件都有其对应的源表格文件。对于当前的空白表格文件而言,首先需要确定与当前的空白表格文件对应的第一源表格文件,然后对第一源表格文件的分区表类型进行分析,并根据类型结果和第一源表格文件对当前的空白表格文件进行填充。
需要说明的是,根据是否分区对表格文件进行划分,存储在数据仓库的第一源表格文件的分区表类型可以有分区表和非分区表,故在对第一源表格文件进行分区表类型分析处理后,得到的类型结果可以是分区表或者非分区表。值得一提的是,由于在数据仓库的表格文件的数据量非常大,在数据查询中,每次查询非分区表中的数据时,都需要对该非分区表进行全表扫描后才能实现该分区表内的数据查询,其所需的查询时间较长,数据的查询速度较慢;故在实际应用中,可以通过对表格文件中的数据进行分区划分,将表格文件划分成多个小表(即多个分区表),该表格文件对应一个总目录,而各个分区表为这一总目标下的子目录,在数据查询中,无需对整个表格文件进行全表扫描,仅需扫描一个或多个特定的分区表即可完成数据查询,所需的查询实际较短,有效提高数据的查询速度。
示例性地,在本申请实施例中,可以通过hive客户端执行“desc table_name;hql”这一语句,得到当前的空白表格文件对应的第一源表格文件的分区结果字符串,随后,hive客户端可以通过执行相应的shell脚本指令对获取到的分区结果字符串进行匹配判断,具体可以是判断该分区结果字符串中是否存在“partitions”字符串,若该区结果字符串中存在“partitions”字符串,则第一源表格文件经分区表类型分析处理后得到的类型结果为分区表,接着,根据类型结果为分区表和第一源表格文件对当前的空白表格文件进行填充;反之,若该区结果字符串中不存在“partitions”字符串,则根据类型结果为非分区表和第一源表格文件对当前的空白表格文件进行填充。
需要说明的是,“desc table_name;hql”这一语句除了可以用于将表格文件的字段、字段类型等表格文件信息进行展示之外,还可以用于将表格文件的分区表类型进行展示,本申请就不再对此进行多余赘述。
在一些实施例中,所述步骤S403、根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充可以包括但不限于包括步骤S4031:
步骤S4031、若所述类型结果为非分区表,则根据所述第一源表格文件对所述当前的空白表格文件进行写入填充。
可以理解的是,当第一源表格文件的类型结果为非分区表时,第一源表格文件中的数据通常是根据列顺序存储在数据仓库中的,此时可以以全表的方式将第一源表格文件中的数据写入填充至当前的空白表格文件中,写入填充完成后,得到经表格文件类型转换后的目标表格文件,即txt格式的源表格文件经表格文件类型转换后,生成了orc格式的目标表格文件。接着,分别对第一源表格文件和目标表格文件进行重命名,将第一源表格文件的文件名信息进行变更,以及将目标表格文件的文件名信息重命名为第一源表格文件初始的文件名信息,以此实现一个类型结果为非分区表的第一源表格文件的改造。
示例性地,在本申请实施例中,可以通过hive客户端执行执行“insert overwritetable$db_tb_orc select*from$db_tb”这一语句,以实现以全表的方式将第一源表格文件中的数据写入填充至当前的空白表格文件中,其中,“$db_tb”用于表征第一源表格文件,“$db_tb_orc”用于表征与第一源表格文件对应的当前的空白表格文件。
请参阅图4,在一些实施例中,所述步骤S403、根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充可以包括但不限于包括步骤S4035至步骤S4037:
步骤S4035、若所述类型结果为分区表,则获取所述第一源表格文件对应的分区字段;
步骤S4036、根据各个所述分区字段生成第二数组;
步骤S4037、根据所述第二数组对所述当前的空白表格文件进行遍历填充。
可以理解的是,当第一源表格文件的类型结果为分区表时,第一源表格文件中的数据通常是分成区块的形式存储在数据仓库中的,此时在本申请实施例中,可以首先通过获取第一源表格文件对应的分区字段,并根据各个分区字段生成第二数组,然后,根据第二数组将第一源表格文件的分区表逐个填充至当前的空白表格文件中,直至第二数组的各个元素均已遍历,以此得到经表格文件类型转换后的目标表格文件。接着,分别对第一源表格文件和目标表格文件进行重命名,将第一源表格文件的文件名信息进行变更,以及将目标表格文件的文件名信息重命名为第一源表格文件初始的文件名信息,以此实现一个类型结果为分区表的第一源表格文件的改造。
示例性地,在本申请实施例中,可以通过hive客户端执行以下语句:
desc$db_tb;
show partitions$db_tb;
insert overwrite table$db_tb_orc partition(${tmp//and/,})select$columns from$db_tb where$tmp;
其中,“desc$db_tb”这一语句用于获取第一源表格文件对应的分区表字段;“showpartitions$db_tb”这一语句用于获取分区表字段中的分区字段,即获取第一源表格文件对应的分区字段;“insert overwrite table$db_tb_orc partition(${tmp//and/,})select$columns from$db_tb where$tmp”这一语句用于根据各个分区字段生成第二数组,并通过for循环遍历第二数据,将第一源表格文件对应的分区表逐个填充至当前的空白表格文件中,直至第二数组的各个元素均已遍历,以此得到经表格文件类型转换后的目标表格文件。
值得一提的是,本申请实施例通过对类型结果为分区表的第一源表格文件以逐个分区进行遍历填充的这一方式避免了shuffle过程(该过程包括分区、写入内存缓冲区、分区排序、合并生成溢出写文件、以及归并),本申请可以直接通过键值对的形式将第一源表格文件的数据遍历填充至当前的空白表格文件。具体地,通过数据对比数据量为10TB的表格文件,本申请的通过对类型结果为分区表的第一源表格文件以逐个分区进行遍历填充的这一方式的表格文件改造效率,相较于传统的源txt表全表数据动态写入到对应的orc表这一方式,提高了80%-90%,改造时间可节约5-7个小时。
可以理解的是,第一数据集中的空白表格文件的数量有一个或多个,故在本申请实施例中,可以通过重复迭代前述内容,直至第一数据集中的空白表格文件均完成填充,以此实现配置表中配置的至少一个源表格文件的改造,可以提高表格文件改造的灵活性,方便表格文件的批量改造。
本申请实施例提供的一种表格文件的转换方法,通过获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;对所述配置表进行数组化处理,得到第一数组;对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。该转换方法可以有效提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
请参阅图5,本申请实施例还提供一种表格文件的转换装置,可以实现上述表格文件的转换方法,该转换装置包括:
获取模块801,用于获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
处理模块802,用于对所述配置表进行数组化处理,得到第一数组;
遍历模块803,用于对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
填充模块804,用于根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
该表格文件的转换装置的具体实施方式与上述表格文件的转换方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述表格文件的转换方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图6,图6示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的表格文件的转换方法;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述表格文件的转换方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的表格文件的转换方法、装置、电子设备及存储介质,其通过获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;对所述配置表进行数组化处理,得到第一数组;对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。该转换方法可以有效提高表格文件的改造效率,减少人工干预的次数,提高表格文件改造的灵活性,方便表格文件的批量改造。
可以理解的是,计算机程序被处理器执行时可以实现上述表格文件的转换方法,在本申请实施例中,以需要改造的第一表格文件和第二表格文件为例,其中,第一表格文件的类型结果为非分区表,第二表格文件为分区表,第一表格文件和第二表格文件的文件格式均为txt格式。在实际应用中,首先,可以通过在配置表中配置第一表格文件的文件名信息和第二表格文件的文件名信息,然后,通过被处理器执行时实现上述表格文件的转换方法的计算机程序自动地将第一表格文件和第二表格文件改造为对应的orc表格文件,改造过程可以根据类型结果对表格文件进行差异化改造,并避免了shuffle过程带来的时间耗费,有效节约改造时间。
还有,相较于传统的源txt表全表数据动态写入到对应的orc表这一方式,在同一改造批次内,本申请实施例仅需人为介入改造过程两次,可以减少人工干预次数,可以有效缩短工作流程。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种表格文件的转换方法,其特征在于,所述转换方法包括:
获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
对所述配置表进行数组化处理,得到第一数组;
对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
2.根据权利要求1所述的转换方法,其特征在于,所述对所述配置表进行数组化处理,得到第一数组,包括:
对所述配置表中的各个源表格文件的文件名信息进行查询处理,得到各个与所述文件名信息对应的表结果字符串;
根据各个所述表结果字符串得到所述第一数组。
3.根据权利要求2所述的转换方法,其特征在于,所述对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件这一步骤,包括:
获取所述第一数组当前的表结果字符串;
对所述当前的表结果字符串对应的源表格文件进行验证;
若所述源表格文件的验证结果为不存在,则对所述第一数组下一个表结果字符串进行验证;或者,若所述源表格文件的验证结果为存在,创建与所述源表格文件对应的空白表格文件。
4.根据权利要求3所述的转换方法,其特征在于,所述创建与所述源表格文件对应的空白表格文件,包括:
对所述源表格文件对应的源目标表格文件进行验证;
若所述源目标表格文件的验证结果为存在,则删除所述源目标表格文件,并创建初始表格文件,所述初始表格文件的文件属性和所述源表格文件的文件属性相同;
对所述初始表格文件进行格式处理,得到所述空白表格文件。
5.根据权利要求1所述的转换方法,其特征在于,所述根据所述源表格文件,对所述空白表格文件进行填充处理这一步骤,包括:
确定当前的空白表格文件对应的第一源表格文件;
对所述第一源表格文件进行分区表类型分析处理,得到所述第一源表格文件的类型结果;
根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充。
6.根据权利要求5所述的转换方法,其特征在于,所述根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充,包括:
若所述类型结果为非分区表,则根据所述第一源表格文件对所述当前的空白表格文件进行写入填充。
7.根据权利要求5所述的转换方法,其特征在于,所述根据所述类型结果和所述第一源表格文件对所述当前的空白表格文件进行填充,包括:
若所述类型结果为分区表,则获取所述第一源表格文件对应的分区字段;
根据各个所述分区字段生成第二数组;
根据所述第二数组对所述当前的空白表格文件进行遍历填充。
8.一种表格文件的转换装置,其特征在于,所述转换装置包括:
获取模块,用于获取配置表,所述配置表中包括至少一个源表格文件的文件名信息;
处理模块,用于对所述配置表进行数组化处理,得到第一数组;
遍历模块,用于对所述第一数组进行遍历处理,并根据遍历结果建立空白表格文件,得到第一数据集,所述第一数据集用于表征空白表格文件的集合;
填充模块,用于根据所述源表格文件,对所述空白表格文件进行填充处理,得到第二数据集,所述第二数据集用于表征经表格文件类型转换后的目标表格文件的集合。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的表格文件的转换方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的表格文件的转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311682678.8A CN117494666A (zh) | 2023-12-07 | 2023-12-07 | 一种表格文件的转换方法和装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311682678.8A CN117494666A (zh) | 2023-12-07 | 2023-12-07 | 一种表格文件的转换方法和装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117494666A true CN117494666A (zh) | 2024-02-02 |
Family
ID=89672773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311682678.8A Pending CN117494666A (zh) | 2023-12-07 | 2023-12-07 | 一种表格文件的转换方法和装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117494666A (zh) |
-
2023
- 2023-12-07 CN CN202311682678.8A patent/CN117494666A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2669815B1 (en) | System and method of generating in-memory models from data warehouse models | |
CN107908672B (zh) | 基于Hadoop平台的应用报表实现方法、设备及存储介质 | |
US10628451B2 (en) | System and method for supporting queries having sub-select constructs in a multidimensional database environment | |
US10095717B2 (en) | Data archive vault in big data platform | |
US20140279979A1 (en) | System for metadata management | |
US9244956B2 (en) | Recommending data enrichments | |
US20120005153A1 (en) | Creation of a data store | |
CN103377289A (zh) | 统一表查询处理 | |
CN103377148A (zh) | 部分合并 | |
CN104781812A (zh) | 策略驱动的数据放置和信息生命周期管理 | |
CN103377290A (zh) | 删除多级存储架构中的记录 | |
CN103425722A (zh) | 无日志的原子数据移动 | |
CN103425723A (zh) | 删除多级存储架构中的记录而不进行记录锁定 | |
CN105074724A (zh) | 使用列式数据库中的直方图进行有效查询处理 | |
US11698918B2 (en) | System and method for content-based data visualization using a universal knowledge graph | |
US20090164486A1 (en) | Business intelligence data extraction on demand | |
CN110795478A (zh) | 一种应用于金融业务的数据仓库更新方法、装置和电子设备 | |
Challawala et al. | MySQL 8 for Big Data: Effective Data Processing with MySQL 8, Hadoop, NoSQL APIs, and Other Big Data Tools | |
US8280896B2 (en) | Reporting row structure for generating reports using focus areas | |
Guerra et al. | Why you need a data warehouse | |
Jukic et al. | Expediting analytical databases with columnar approach | |
Haelen et al. | Delta Lake: Up and Running | |
US11669538B1 (en) | Systems, devices, and methods for data analytics | |
US8229946B1 (en) | Business rules application parallel processing system | |
Zhu et al. | Building Big Data and Analytics Solutions in the Cloud |
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 |