CN110209654A - 一种文本文件数据入库方法、系统及电子设备和存储介质 - Google Patents
一种文本文件数据入库方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN110209654A CN110209654A CN201910487393.6A CN201910487393A CN110209654A CN 110209654 A CN110209654 A CN 110209654A CN 201910487393 A CN201910487393 A CN 201910487393A CN 110209654 A CN110209654 A CN 110209654A
- Authority
- CN
- China
- Prior art keywords
- text file
- file data
- data
- storage
- catalog
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013500 data storage Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000003999 initiator Substances 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 238000007405 data analysis Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 241000282813 Aepyceros melampus Species 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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/21—Design, administration or maintenance of databases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文本文件数据入库方法、系统及设备和介质,方法包括:判断是否满足预设入库条件;如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;根据入库任务配置将文本文件数据从中转目录写入至集群中以parquet格式存储的数据表中。本申请预先将文本文件数据存入待入库目录,在满足预设入库条件后,将当前时刻下待入库目录中的文本文件数据通过集群中预设的中转目录写入集群中的数据表中,实现将txt格式的文本文件数据转换为parquet格式的数据,能够节省存储空间,提高后续数据分析效率,并且本申请避免了改写时造成的改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种文本文件数据入库方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
随着互联网的发展,尤其是近年来大数据技术越来越流行,企业都在往数字化方向转型,每个企业或大或小的建立了自己的数据平台,Hadoop(分布式系统基础架构)成为各个公司进行大数据分析的标准架构,但是Hadoop分析效率低下,运行速度慢,不能满足即时查询的分析需求。基于此,impala on Hadoop(基于分布式系统基础架构的新型查询系统)应运而生,该系统中文件存储采用parquet格式。
在相关技术中,利用开源的flume(日志收集系统)进行数据的前期采集,但是flume不支持写入parquet格式,若将flume写入的数据转换为impala支持的parquet格式的数据,一种常见的方案是通过改写flume agent来增加支持parquet格式的功能,这种方案改写成本高,还需自己编写拦截器,如果存在大量的历史数据,会导致大量文件句柄打开,可能造成服务器宕机;另一种常见的方案是基于spark(计算引擎)直接读取kafka(分布式消息系统),而这种方案对资源消耗较大,1G的数据通常需要消耗5G的内存。
发明内容
本申请的目的在于提供一种文本文件数据入库方法、系统及一种电子设备和一种计算机可读存储介质,能够节省存储空间,提高后续数据分析效率,避免了改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
为实现上述目的,本申请提供了一种文本文件数据入库方法,包括:
判断是否满足预设入库条件;
如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
可选的,所述判断是否满足预设入库条件,包括:
判断当前时刻下所述待入库目录中的文本文件数据总量是否满足预设大小;
如果是,则判定为满足所述预设入库条件;
如果否,则判断预设时间段内是否有新的文本文件数据写入所述待入库目录中;
如果否,则判定为满足所述预设入库条件。
可选的,所述将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中之前,还包括:
对所述中转目录中已存的文本文件数据进行清空操作。
可选的,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中,包括:
获取入库任务配置文件列表;
根据所述入库任务配置文件列表中的每个配置文件生成入库进程;
利用所述入库进程将所述文本文件数据从所述中转目录导入至所述集群中以parquet格式存储的数据表中。
可选的,所述利用所述入库进程将所述文本文件数据从所述中转目录导入至所述集群中以parquet格式存储的数据表中,包括:
所述入库进程根据对应的配置文件生成入库语句,以便基于所述入库语句将所述中转目录中的所述文本文件数据导入至所述集群中以parquet格式存储的数据表中。
可选的,还包括:
监测所述入库任务配置文件列表是否发生更新;
如果是,则生成新增入库进程或对已有的所述入库进程进行更新。
可选的,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中的过程中,还包括:
对所述文本文件数据进行数据清洗操作。
可选的,所述判断是否满足预设入库条件之前,还包括:
利用预先部署的rsync服务接收需要入库的文本文件数据,并将所述文本文件数据保存至预先创建的接收目录中;
将所述接收目录下的所述文本文件数据移动至所述待入库目录中。
可选的,所述利用预先部署的rsync服务接收需要入库的文本文件数据,包括:
利用预先部署的所述rsync服务获取文件发送请求;
基于rsync密钥文件,利用所述rsync服务判断所述文件发送请求的发起方是否有发送权限;
如果是,则利用所述rsync服务接收所述文件发送请求对应的文本文件数据。
可选的,所述判断是否满足预设入库条件之后,还包括:
若不满足所述预设入库条件,则继续将所述接收目录下的所述文本文件数据移动至所述待入库目录中。
可选的,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中之后,还包括:
若写入操作执行成功,则删除所述待入库目录下对应的所述文本文件数据;
若写入操作执行失败,则发送告警信息,并将所述待入库目录下对应的所述文本文件数据返回至所述接收目录中。
为实现上述目的,本申请提供了一种文本文件数据入库系统,包括:
判断模块,用于判断是否满足预设入库条件;
上传模块,用于如果满足所述预设入库条件,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
写入模块,用于根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种所述文本文件数据入库方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种所述文本文件数据入库方法的步骤。
通过以上方案可知,本申请提供的一种文本文件数据入库方法,包括:判断是否满足预设入库条件;如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。也就是说,本申请预先将文本文件数据采集并存入待入库目录,在满足预设入库条件后,将当前时刻下待入库目录中的文本文件数据通过集群中预设的中转目录写入集群中以parquet格式存储的数据表中,实现将txt格式的文本文件数据转换为parquet格式的数据进行存储,能够节省存储空间,提高后续数据分析效率,并且本申请避免了改写flume agent时造成的改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
本申请还公开了一种文本文件数据入库系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种文本文件数据入库方法的流程图;
图2为本申请实施例公开的另一种文本文件数据入库方法的流程图;
图3为本申请实施例公开的又一种文本文件数据入库方法的流程图;
图4为本申请实施例公开的一种文本文件数据入库方法中入库执行模块的工作流程图;
图5为本申请实施例公开的一种文本文件数据入库方法中主控模块的工作流程图;
图6为本申请实施例公开的一种文本文件数据入库系统的结构图;
图7为本申请实施例公开的一种电子设备的结构图;
图8为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,利用开源的flume(日志收集系统)进行数据的前期采集,但是flume不支持写入parquet格式,若将flume写入的数据转换为impala支持的parquet格式的数据,一种常见的方案是通过改写flume agent来增加支持parquet格式的功能,这种方案改写成本高,还需自己编写拦截器,如果存在大量的历史数据,会导致大量文件句柄打开,可能造成服务器宕机;另一种常见的方案是基于spark(计算引擎)直接读取kafka(分布式消息系统),而这种方案对资源消耗较大,1G的数据通常需要消耗5G的内存。
因此,本申请实施例公开了一种文本文件数据入库方法,能够节省存储空间,提高后续数据分析效率,避免了改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
参见图1所示,本申请实施例公开的一种文本文件数据入库方法包括:
S11:判断是否满足预设入库条件;
本实施例中,判断是否满足预设入库条件的过程可以具体为:判断当前时刻下待入库目录中的文本文件数据总量是否满足预设大小;若文本文件数据总量满足预设大小,则判定为满足预设入库条件;若文本文件数据总量不满足预设大小,则判断预设时间段内是否有新的文本文件数据写入待入库目录中;若预设时间段内并未有新的文本文件数据写入待入库目录,则判定为满足预设入库条件。
其中,预设大小以及预设时间段均可在具体实施过程中根据实际情况进行设定,在此不具体限定,例如,可将预设大小设置为1G,预设时间段设置为1分钟,也即,判断当前时刻下待入库目录中的文本文件数据总量是否大于1G,如果大于1G,则判定为满足预设入库条件;如果小于1G,则进一步判断1分钟内是否有新的数据写入待入库目录,如果否,则判定为满足预设入库条件。
S12:如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
本步骤中,在判定满足预设入库条件之后,将当前时刻下待入库目录中的文本文件数据上传至集群中的中转目录。需要说明的是,集群中预先创建了中转目录,用于接收待入库目录传输的初始数据。这是因为集群无法在直接读取中转目录数据的过程中实现格式的转换,需要中转目录先接收初始数据。
需要指出的是,本实施例在将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中之前,还进一步对中转目录中已存的文本文件数据进行清空操作,目的是保证中转目录中存储的数据为当前需要入库的数据,从而可以直接读取中转目录中所有数据实现后续的入库,若是先前入库的数据仍存储于中转目录未被删除,入库时还需从中转目录剔除历史数据,无疑需要耗费一定的时间成本。
S13:根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
本实施例中,预先在集群中创建了以parquet格式存储的数据表,进而根据入库任务配置将文本文件数据从中转目录写入集群的数据表中,实现数据的格式转换存储。
具体地,本实施例入库任务配置的参数可以包括但不限于:临时库名、目标库名、临时数据表表名、入库语句、内存设置、分区周期、分区列名、依次扫描文件数、最长等待时间等。本实施例基于入库任务配置的参数生成入库任务,根据入库任务的指示将数据写入指定数据表的分区下。
进一步地,在上述数据入库的过程中,本实施例还对文本文件数据进行数据清洗操作,以便过滤异常数据。例如,可利用数据偏移分钟数将不符合入库时间的脏数据过滤掉。
本实施例在将文本文件数据从中转目录写入至集群中以parquet格式存储的数据表之后,还进一步将成功入库的数据从待入库目录下删除,实现内存的释放。
通过以上方案可知,本申请提供的一种文本文件数据入库方法,包括:判断是否满足预设入库条件;如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。也就是说,本申请预先将文本文件数据采集并存入待入库目录,在满足预设入库条件后,将当前时刻下待入库目录中的文本文件数据通过集群中预设的中转目录写入集群中以parquet格式存储的数据表中,实现将txt格式的文本文件数据转换为parquet格式的数据进行存储,能够节省存储空间,提高后续数据分析效率,并且本申请避免了改写flume agent时造成的改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
本申请实施例公开了另一种文本文件数据入库方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S21:判断是否满足预设入库条件;
S22:如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
S23:获取入库任务配置文件列表;
S24:根据所述入库任务配置文件列表中的每个配置文件生成入库进程;
S25:利用所述入库进程将所述文本文件数据从所述中转目录导入至所述集群中以parquet格式存储的数据表中。
本实施例中,预先创建入库任务配置文件列表,从而将入库任务配置的参数进行存储。在实施过程中,根据入库任务配置文件列表中的配置文件生成对应的入库进程,并基于入库进程完成数据从中转目录导入数据表的入库过程。
具体地,入库进程根据对应的配置文件生成入库语句,从而可以基于上述入库语句将中转目录中的文本文件数据导入至集群中以parquet格式存储的数据表中。
在上述生成入库进程的过程中,本实施例还进一步包括:监测入库任务配置文件列表是否发生更新;如果是,则生成新增入库进程或对已有的入库进程进行更新。可以理解的是,本实施例对入库任务配置文件列表进行监测,若发现列表中新增了配置文件,或现存的配置文件发生了更新,则基于配置文件的更新生成新增的入库进程,或对已由的入库进程进行更新。其中,对入库任务配置文件列表进行监测可以采用实时或定时的方式,例如,每隔一分钟监测入库任务配置文件列表是否更新。
本申请实施例公开了又一种文本文件数据入库方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:
S31:利用预先部署的rsync服务接收需要入库的文本文件数据,并将所述文本文件数据保存至预先创建的接收目录中;
本实施例中,首先在服务器上生成rsync密钥文件和rsync配置文件,通过设定服务的端口号、最大连接数、接收文件的目录等对rsync服务进行配置,并在配置完成后启动rsync服务。
本步骤中,利用预先部署的rsync服务接收需要入库的文本文件数据的过程可以具体包括:利用预先部署的rsync服务获取文件发送请求;基于rsync密钥文件,利用rsync服务判断文件发送请求的发起方是否有发送权限;如果是,则利用rsync服务接收文件发送请求对应的文本文件数据。可以理解的是,本实施例利用rsync服务监听客户端的文件发送请求,并仅在发起文件发送请求的客户端具备发送权限的基础上允许接收数据,保证了数据的安全传输。
S32:将所述接收目录下的所述文本文件数据移动至所述待入库目录中;
S33:判断是否满足预设入库条件;
S34:如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
本实施例中,若满足预设入库条件,则将当前时刻下待入库目录中的文本文件数据上传至中转目录;若不满足预设入库条件,则继续将接收目录下的文本文件数据移动至所述待入库目录中。
S35:根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
本实施例中,在根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中的执行过程中,将记录生成对应的入库日志,将每次入库任务下写入操作是否成功执行的信息记录下来,进一步地,若写入操作执行成功,则删除待入库目录下对应的文本文件数据;节省存储空间的利用;若写入操作执行失败,则发送告警信息,并将待入库目录下对应的文本文件数据返回至所述接收目录中,以便下次入库任务开始时重新进行该数据的发送和写入,避免数据丢失。
在本申请实施例提供的一种具体的文本文件数据入库方法中,利用入库执行模块获取并执行入库任务,利用主控模块实现对入库进程的管理。图4、图5分别为入库执行模块和主控模块的工作流程图。
参见图4所示,入库执行模块获取入库任务配置,并生成对应的入库语句;其中,若入库任务配置有更新,则需要基于配置更新重新生成入库语句。进一步根据待入库目录判断是否满足入库条件,例如,判断是否达到预设大小或是否超时未接收到新的数据,如果不满足入库条件,则不断将接收目录下的文件移动至待入库mid目录中;若满足入库条件,则在待入库mid目录中文件数大于0时,启动入库过程:首先清理集群上预设的中转目录,并将文本文件数据从待入库目录上传至集群中转目录,进而通过impala引擎调用入库语句,在成功入库并接收到退出信号之后结束工作流程;另外,若入库失败,则将待入库mid目录中的文件重新返回至待接收目录中,等待下次工作流程。
参见图5所示,主控模块首先初始化入库进程池,获取入库任务配置列表,若监测到列表发生了更新,则判断更新的为新配置文件或旧配置文件;若添加了新的配置文件,则生成新的入库进程并加入入库进程池中;若旧的配置文件发生更新,则更新对应的已由入库进程。另外,主控模块还监测是否接收到系统指示的退出信号,若未检测到退出信号,则定期实现对入库任务配置文件列表更新的监测,若监测到退出信号,则通知入库进程退出,并在所有进程全部退出后结束整个工作流程。
下面对本申请实施例提供的一种文本文件数据入库系统进行介绍,下文描述的一种文本文件数据入库系统与上文描述的一种文本文件数据入库方法可以相互参照。
参见图6所示,本申请实施例提供的一种文本文件数据入库系统包括:
判断模块101,用于判断是否满足预设入库条件;
上传模块102,用于如果满足所述预设入库条件,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
写入模块103,用于根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
关于上述模块101至103的具体实施内容可参考前述实施例提供的具体步骤,在此不再进行赘述。
本申请还提供了一种电子设备,参见图7所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的文本文件数据入库方法步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述实施例公开的任一种文本文件数据入库方法。
在上述实施例的基础上,作为优选实施方式,参见图8所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图8仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图8示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例公开的任一种文本文件数据入库方法。
本申请预先将文本文件数据采集并存入待入库目录,在满足预设入库条件后,将当前时刻下待入库目录中的文本文件数据通过集群中预设的中转目录写入集群中以parquet格式存储的数据表中,实现将txt格式的文本文件数据转换为parquet格式的数据进行存储,能够节省存储空间,提高后续数据分析效率,并且本申请避免了改写flumeagent时造成的改写成本,解决了利用spark直接读取数据时资源消耗较大的问题。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (14)
1.一种文本文件数据入库方法,其特征在于,包括:
判断是否满足预设入库条件;
如果是,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
2.根据权利要求1所述的文本文件数据入库方法,其特征在于,所述判断是否满足预设入库条件,包括:
判断当前时刻下所述待入库目录中的文本文件数据总量是否满足预设大小;
如果是,则判定为满足所述预设入库条件;
如果否,则判断预设时间段内是否有新的文本文件数据写入所述待入库目录中;
如果否,则判定为满足所述预设入库条件。
3.根据权利要求1所述的文本文件数据入库方法,其特征在于,所述将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中之前,还包括:
对所述中转目录中已存的文本文件数据进行清空操作。
4.根据权利要求1所述的文本文件数据入库方法,其特征在于,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中,包括:
获取入库任务配置文件列表;
根据所述入库任务配置文件列表中的每个配置文件生成入库进程;
利用所述入库进程将所述文本文件数据从所述中转目录导入至所述集群中以parquet格式存储的数据表中。
5.根据权利要求4所述的文本文件数据入库方法,其特征在于,所述利用所述入库进程将所述文本文件数据从所述中转目录导入至所述集群中以parquet格式存储的数据表中,包括:
所述入库进程根据对应的配置文件生成入库语句,以便基于所述入库语句将所述中转目录中的所述文本文件数据导入至所述集群中以parquet格式存储的数据表中。
6.根据权利要求4所述的文本文件数据入库方法,其特征在于,还包括:
监测所述入库任务配置文件列表是否发生更新;
如果是,则生成新增入库进程或对已有的所述入库进程进行更新。
7.根据权利要求1所述的文本文件数据入库方法,其特征在于,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中的过程中,还包括:
对所述文本文件数据进行数据清洗操作。
8.根据权利要求1至7任一项所述的文本文件数据入库方法,其特征在于,所述判断是否满足预设入库条件之前,还包括:
利用预先部署的rsync服务接收需要入库的文本文件数据,并将所述文本文件数据保存至预先创建的接收目录中;
将所述接收目录下的所述文本文件数据移动至所述待入库目录中。
9.根据权利要求8所述的文本文件数据入库方法,其特征在于,所述利用预先部署的rsync服务接收需要入库的文本文件数据,包括:
利用预先部署的所述rsync服务获取文件发送请求;
基于rsync密钥文件,利用所述rsync服务判断所述文件发送请求的发起方是否有发送权限;
如果是,则利用所述rsync服务接收所述文件发送请求对应的文本文件数据。
10.根据权利要求8所述的文本文件数据入库方法,其特征在于,所述判断是否满足预设入库条件之后,还包括:
若不满足所述预设入库条件,则继续将所述接收目录下的所述文本文件数据移动至所述待入库目录中。
11.根据权利要求8所述的文本文件数据入库方法,其特征在于,所述根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中之后,还包括:
若写入操作执行成功,则删除所述待入库目录下对应的所述文本文件数据;
若写入操作执行失败,则发送告警信息,并将所述待入库目录下对应的所述文本文件数据返回至所述接收目录中。
12.一种文本文件数据入库系统,其特征在于,包括:
判断模块,用于判断是否满足预设入库条件;
上传模块,用于如果满足所述预设入库条件,则将当前时刻下待入库目录中的文本文件数据上传至集群中预设的中转目录中;
写入模块,用于根据入库任务配置将所述文本文件数据从所述中转目录写入至所述集群中以parquet格式存储的数据表中。
13.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至11任一项所述文本文件数据入库方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述文本文件数据入库方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487393.6A CN110209654A (zh) | 2019-06-05 | 2019-06-05 | 一种文本文件数据入库方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487393.6A CN110209654A (zh) | 2019-06-05 | 2019-06-05 | 一种文本文件数据入库方法、系统及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110209654A true CN110209654A (zh) | 2019-09-06 |
Family
ID=67791063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487393.6A Pending CN110209654A (zh) | 2019-06-05 | 2019-06-05 | 一种文本文件数据入库方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209654A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507066A (zh) * | 2020-04-21 | 2020-08-07 | 北京思特奇信息技术股份有限公司 | 一种上传加载文件并解析入库方法及系统 |
CN112732821A (zh) * | 2021-03-31 | 2021-04-30 | 成都新希望金融信息有限公司 | 数据入库方法、装置、设备及存储介质 |
CN112835901A (zh) * | 2021-02-01 | 2021-05-25 | 长沙市到家悠享家政服务有限公司 | 文件存储方法及装置、计算机设备、计算机可读存储介质 |
CN114490525A (zh) * | 2022-02-22 | 2022-05-13 | 北京科杰科技有限公司 | 基于hadoop远程超大非结构化文本文件解析出入库系统及方法 |
CN114936387A (zh) * | 2022-07-25 | 2022-08-23 | 深圳市明源云科技有限公司 | 文本文件读取方法、写入方法、电子设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
CN104243594A (zh) * | 2014-09-24 | 2014-12-24 | 广州金山网络科技有限公司 | 一种文件发布方法、设备及系统 |
CN105550293A (zh) * | 2015-12-11 | 2016-05-04 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
WO2016113747A1 (en) * | 2015-01-12 | 2016-07-21 | Siemens Technology And Services Pvt. Ltd. | A query processing engine recommendation method and system |
US20170187800A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | File synchronization method, electronic device |
WO2018099397A1 (zh) * | 2016-12-01 | 2018-06-07 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法、装置及存储介质 |
-
2019
- 2019-06-05 CN CN201910487393.6A patent/CN110209654A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
CN104243594A (zh) * | 2014-09-24 | 2014-12-24 | 广州金山网络科技有限公司 | 一种文件发布方法、设备及系统 |
WO2016113747A1 (en) * | 2015-01-12 | 2016-07-21 | Siemens Technology And Services Pvt. Ltd. | A query processing engine recommendation method and system |
CN105550293A (zh) * | 2015-12-11 | 2016-05-04 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
US20170187800A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | File synchronization method, electronic device |
WO2018099397A1 (zh) * | 2016-12-01 | 2018-06-07 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法、装置及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507066A (zh) * | 2020-04-21 | 2020-08-07 | 北京思特奇信息技术股份有限公司 | 一种上传加载文件并解析入库方法及系统 |
CN111507066B (zh) * | 2020-04-21 | 2024-01-12 | 北京思特奇信息技术股份有限公司 | 一种上传加载文件并解析入库方法及系统 |
CN112835901A (zh) * | 2021-02-01 | 2021-05-25 | 长沙市到家悠享家政服务有限公司 | 文件存储方法及装置、计算机设备、计算机可读存储介质 |
CN112732821A (zh) * | 2021-03-31 | 2021-04-30 | 成都新希望金融信息有限公司 | 数据入库方法、装置、设备及存储介质 |
CN114490525A (zh) * | 2022-02-22 | 2022-05-13 | 北京科杰科技有限公司 | 基于hadoop远程超大非结构化文本文件解析出入库系统及方法 |
CN114490525B (zh) * | 2022-02-22 | 2022-08-02 | 北京科杰科技有限公司 | 基于hadoop远程超大非结构化文本文件解析出入库系统及方法 |
CN114936387A (zh) * | 2022-07-25 | 2022-08-23 | 深圳市明源云科技有限公司 | 文本文件读取方法、写入方法、电子设备及可读存储介质 |
CN114936387B (zh) * | 2022-07-25 | 2022-11-29 | 深圳市明源云科技有限公司 | 文本文件读取方法、写入方法、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209654A (zh) | 一种文本文件数据入库方法、系统及电子设备和存储介质 | |
CN101090356B (zh) | 使能对远程存储装置的访问的方法和系统 | |
US7610511B2 (en) | Journal migration method and data recovery management method | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
US20160085794A1 (en) | Data consistency and rollback for cloud analytics | |
US10033796B2 (en) | SAAS network-based backup system | |
CN104412249A (zh) | 基于云的文件系统内的文件处置 | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
US20150280981A1 (en) | Apparatus and system for configuration management | |
CN109597640B (zh) | 一种应用程序的账号管理方法、装置、设备和介质 | |
CN105190525A (zh) | 管理在节电模式中对混合式驱动器的访问 | |
CN105450759A (zh) | 一种系统镜像的管理方法和装置 | |
CN115525631B (zh) | 数据库数据迁移方法、装置、设备、存储介质 | |
CN112256676A (zh) | 一种数据库迁移的方法、装置、设备和介质 | |
CN110162563B (zh) | 一种数据入库方法、系统及电子设备和存储介质 | |
CN109597707A (zh) | 克隆卷数据拷贝方法、装置及计算机可读存储介质 | |
CN109634659A (zh) | 一种对bmc进行控制的方法、装置、设备以及存储介质 | |
CN102591594A (zh) | 一种数据的处理方法和设备 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN111158595B (zh) | 企业级异构存储资源调度方法及系统 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN110377616A (zh) | 一种数据删除方法、装置、电子设备及存储介质 | |
CN115993932A (zh) | 数据处理方法、装置、存储介质以及电子设备 | |
CN109766220A (zh) | 应用系统的备份恢复方法、装置及计算机可读存储介质 | |
CN109656936A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |