CN110222009B - 一种Hive入库异常文件自动处理方法及装置 - Google Patents

一种Hive入库异常文件自动处理方法及装置 Download PDF

Info

Publication number
CN110222009B
CN110222009B CN201910453264.5A CN201910453264A CN110222009B CN 110222009 B CN110222009 B CN 110222009B CN 201910453264 A CN201910453264 A CN 201910453264A CN 110222009 B CN110222009 B CN 110222009B
Authority
CN
China
Prior art keywords
compressed
checked
batch
file
hive
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
CN201910453264.5A
Other languages
English (en)
Other versions
CN110222009A (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910453264.5A priority Critical patent/CN110222009B/zh
Publication of CN110222009A publication Critical patent/CN110222009A/zh
Application granted granted Critical
Publication of CN110222009B publication Critical patent/CN110222009B/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/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs

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)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种Hive入库异常文件自动处理方法及装置。所述方法包括将待查压缩文件加载到Hive库中;将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;若解压缩失败,则将该待查压缩文件从所述Hive库中删除,本发明实施例通过对加载后的待查压缩文件自动进行格式转换,并在出错后尝试解压,若解压失败则判定所述待查压缩文件为错误文件,而将所述待查压缩文件从所述Hive库中删除,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。

Description

一种Hive入库异常文件自动处理方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种Hive入库异常文件自动处理方法及装置。
背景技术
目前,压缩文件进入Hive库的主要方法为LOAD方法,就是将文件直接移动到Hive数据库,不经过任何校验,即使文件中存在错误也无法感知。
数据进入到Hive库之后,若发现Hive库中有错误文件。此时定位错误文件,需要人工将Hive库中的文件逐个排查并进行删除,以保证Hive库中文件的正确性。待所有错误的压缩文件都被清除完毕,Hive库中的数据才可以进行后续的使用。
现有技术方案在发现错误文件时进行人工排查,这种方法效率较低,且人工耗时较长,在查询时发现错误会直接影响到查询速度。
发明内容
本发明实施例提供一种Hive入库异常文件自动处理方法及装置,用以解决现有技术在发现错误文件时进行人工排查,这种方法效率较低,且人工耗时较长,在查询时发现错误会直接影响到查询速度的问题。
第一方面,本发明实施例提供了一种Hive入库异常文件自动处理方法,包括:
将待查压缩文件加载到Hive库中;
将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;
若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
第二方面,本发明实施例提供了一种Hive入库异常文件自动处理装置,包括:
文件加载模块,用于将待查压缩文件加载到Hive库中,
格式转换模块,用于将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
文件解压模块,用于若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;
文件处理模块,用于若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
第三方面,本发明实施例还提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线;其中,
所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;
所述通信接口用于该电子设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:
将待查压缩文件加载到Hive库中;
将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;
若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:
将待查压缩文件加载到Hive库中;
将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;
若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
本发明实施例提供的Hive入库异常文件自动处理方法及装置,通过对加载后的待查压缩文件自动进行格式转换,并在出错后尝试解压,若解压失败则判定所述待查压缩文件为错误文件,而将所述待查压缩文件从所述Hive库中删除,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的Hive入库异常文件自动处理方法流程图;
图2为本发明实施例的另一Hive入库异常文件自动处理方法流程图;
图3为本发明实施例的Hive入库异常文件自动处理装置结构示意图;
图4示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的Hive入库异常文件自动处理方法流程图,如图1所示,所述方法包括:
步骤S01、将待查压缩文件加载到Hive库中。
本发明实施例的Hive库为安装于服务器的数据库,所述服务器根据需要将数据信息以待查压缩文件的形式加载到所述Hive库中。具体可使用所述Hive库自带的LOAD方法,所述待查压缩文件会被直接移动到所述Hive库下的数据目录中。所述待查压缩文件的格式可以为bz2、gz、zip或lzo格式等,在此不作具体限定,但为了简便起见,在下面的实施例中都仅以bz2为例进行举例说明。
步骤S02、将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志。
在加载完成后,所述服务器对所述待查压缩文件进行格式转换,将所述待查压缩文件转换为所述Hive库适用的Hive表压缩格式。具体可使用所述Hive库自带的insert方法对所述待查压缩文件进行格式转换操作。所述Hive表压缩格式可以为parquet、RCFILE或ORC格式等,在此不作具体限定,但为了简便起见,在下面的实施例中都仅以parquet格式为例进行举例说明。
若格式转换成功,则可以有效提升转换后的文件在Hive库中的文件存储效率及后续的查询效率。
在进行格式转换的过程中会产生日志,而所述服务器通过监控该日志来判断该格式转换过程是否成功。具体的判定方法,可以通过查看所述日志中是否存在异常关键字“FAIL”,若存在则判定本次转换失败,否则,则判定成功。
步骤S03、若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩。
通过对所述日志的监控,若所述服务器判定当前的格式转换失败,则认定所述待查压缩文件可能存在错误。此时,需要对所述待查压缩文件执行解压缩,尝试将所述待查压缩文件解压为文本文件。对于bz2格式的待查压缩文件,在Linux系统下可采用bunzip2命令来对该待查压缩文件进行解压缩。若解压缩成功,则所述待查压缩文件解压为文本文件,否则,该待查压缩文件将保留。
步骤S04、若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
若所述待查压缩文件没有被解压成功,依然被保留,则所述服务器判定该待查压缩文件为错误文件。所述服务器需将所述待查压缩文件从Hive库的数据目录中删除。
本发明实施例通过对加载后的待查压缩文件自动进行格式转换,并在出错后尝试解压,若解压失败则判定所述待查压缩文件为错误文件,而将所述待查压缩文件从所述Hive库中删除,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
图2为本发明实施例的另一Hive入库异常文件自动处理方法流程图,如图2所示,所述方法还包括:
步骤S00、将当前所有的待查压缩文件分为预设批次数的批次压缩文件集,所述批次压缩文件集至少包括一个待查压缩文件。
为了提高所述Hive库的使用效率,在将所述待查压缩文件加载入所述Hive库时采用批次的形式。所述服务器,将当前所有准备加载的待查压缩文件分为预设批次数N的批次压缩文件集。
相应地,所述步骤S01具体为:
步骤S11、按照预设的批次顺序,依次将所述批次压缩文件集加载到Hive库中。
所述服务器依次将每个批次的批次压缩文件集加载到所述Hive库的数据目录中。
相应地,所述步骤S02具体为:
步骤S12、在任一批次的批次压缩文件集加载完成后,将所述批次压缩文件集中的所有待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志。
在任一批次加载完成后,所述服务器将对该加载完成的批次压缩文件集中所有的待查压缩文件尝试执行格式转换,尝试将所有bz2格式的待查压缩文件转换为parquet格式,并实时监控该格式转换过程中产生的日志。
相应地,所述步骤S03具体为;
步骤S13、若根据所述日志判定所述批次压缩文件集转换失败,则对所述待查压缩文件中的所有待查压缩文件执行解压缩。
若根据对日志的监控,所述服务器判定对刚加载完成的批次压缩文件集的格式转换成功,则该批次压缩文件集中的所有bz2格式的待查压缩文件都已转换为parquet格式。此时,可判定该批次压缩文件集入库成功,所述服务器就可以继续执行对下一批次的批次压缩文件集的加载过程,直到所有批次的批次压缩文件集都入库成功。
而若根据对日志的监控,所述服务器判定对刚加载完成的批次压缩文件集的格式转换失败,则说明该批次压缩文件集中可能存在错误文件。此时,所述服务器需要对该批次压缩文件集中所有的待查压缩文件执行解压缩操作。
相应地,所述步骤S04具体为:
步骤S14、收集所述批次压缩文件集中解压缩失败的待查压缩文件的文件标识,并从Hive库已经加载的所述批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
将在解压缩操作后依然保留bz2格式的待查压缩文件判定为错误文件,根据保留的错误文件的文件标识,从所述Hive库的该批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
本发明实施例通过将所有的待查压缩文件分批次加载到Hive库中,并在每批次加载完成后进行格式转换,若转换失败,则对该批次的批次压缩文件集进行解压缩,再根据保留的待查压缩文件的文件标识,删除所述Hive库中该批次压缩文件集中对应的待查压缩文件,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
基于上述实施例,进一步地,所述方法还包括:
步骤S15、将执行删除操作后的批次压缩文件集中剩余的待查压缩文件转换为Hive表压缩格式。
在将错误文件从所述Hive库中对应批次压缩文件集中删除后,需要再次对该批次压缩文件集中剩余的待查压缩文件执行格式转换。由于已经删除了该批次中所有的错误文件,因此本次格式转换将会成功,从而使所有待查压缩文件转换为parquet格式,此时,可判定该批次的批次压缩文件集入库成功。
当然,若本次格式转换再次失败,则需要再次通过执行解压缩过程来寻找该批次压缩文件集中的错误文件,以此循环,直到该批次压缩文件集的格式转换成功,则所述服务器才能向所述Hive库加载下一批次的批次压缩文件集。
本发明实施例通过对删除错误文件后的批次压缩文件集再次执行格式转换,从而将所有的待查压缩文件转换为Hive表压缩格式,从而提高所述Hive库的存储及查询效率。
基于上述实施例,进一步地,所述步骤S13,具体为:
若根据所述日志判定所述批次压缩文件集转换失败,则将所述批次压缩文件下载到本地主机;
采用多线程并行的方式,对所述批次压缩文件中的每个待查压缩文件执行解压缩。
在判定所述批次压缩文件集的格式转换失败后,需要对所述批次压缩文件集中所有待查压缩文件执行解压缩操作。具体过程可以由所述服务器将该批次压缩文件集下载到本地主机,例如Linux主机,启动一个并行运行的线程池,所述线程池中运行有多个线程,然后,使用Linux下的bunzip2命令对该批次压缩文件集的所有的bz2格式的待查压缩文件进行并行解压。若解压成功,所述bz2格式的待查压缩文件直接转换成文本文件,若解压失败,则该bz2格式的待查压缩文件会保留。
本发明实施例通过将所述批次压缩文件集下载到本地主机,再通过并行解压的方式对进行解压,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
图3为本发明实施例的Hive入库异常文件自动处理装置结构示意图,如图3所示,所述装置包括:文件加载模块10、格式转换模块11、文件解压模块12和文件处理模块13,其中,
所述文件加载模块10用于将待查压缩文件加载到Hive库中,其特征在于,所述装置还包括:所述格式转换模块11用于将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;所述文件解压模块12用于若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;所述文件处理模块13用于若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
所述文件加载模块10根据需要将数据信息以待查压缩文件的形式加载到所述Hive库中。具体所述文件加载模块10使用所述Hive库自带的LOAD方法,所述待查压缩文件会被直接移动到所述Hive库下的数据目录中。所述待查压缩文件的格式可以为bz2、gz、zip或lzo格式等,在此不作具体限定,但为了简便起见,在下面的实施例中都仅以bz2为例进行举例说明。
在加载完成后,所述格式转换模块11对所述待查压缩文件进行格式转换,将所述待查压缩文件转换为所述Hive库适用的Hive表压缩格式。具体所述格式转换模块11可使用所述Hive库自带的insert方法对所述待查压缩文件进行格式转换操作。所述Hive表压缩格式可以为parquet、RCFILE或ORC格式等,在此不作具体限定,但为了简便起见,在下面的实施例中都仅以parquet格式为例进行举例说明。
若格式转换成功,则可以有效提升转换后的文件在Hive库中的文件存储效率及后续的查询效率。
在所述格式转换模块11进行格式转换的过程中会产生日志,所述格式转换模块11通过监控该日志来判断该格式转换过程是否成功。具体的判定方法,可以通过查看所述日志中是否存在异常关键字“FAIL”,若存在则判定本次转换失败,否则,则判定成功。
通过对所述日志的监控,若所述格式转换模块11判定当前的格式转换失败,则认定所述待查压缩文件可能存在错误。此时,所述格式转换模块11指示所述文件解压模块12对所述待查压缩文件执行解压缩,尝试将所述待查压缩文件解压为文本文件。对于bz2格式的待查压缩文件,在Linux系统下可采用bunzip2命令来对该待查压缩文件进行解压缩。若解压缩成功,则所述待查压缩文件解压为文本文件,否则,该待查压缩文件将保留。
若所述待查压缩文件没有被解压成功,依然被保留,则所述文件解压模块12判定该待查压缩文件为错误文件,进而指示所述文件处理模块13将所述待查压缩文件从Hive库的数据目录中删除。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例通过对加载后的待查压缩文件自动进行格式转换,并在出错后尝试解压,若解压失败则判定所述待查压缩文件为错误文件,而将所述待查压缩文件从所述Hive库中删除,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
基于上述实施例,进一步地,所述装置还包括:文件分批模块。
所述文件分批模块用于将当前所有的待查压缩文件分为预设批次数的批次压缩文件集,所述批次压缩文件集至少包括一个待查压缩文件;
相应地,所述文件加载模块具体用于,按照预设的批次顺序,依次将所述批次压缩文件集加载到Hive库中;
相应地,所述格式转换模块具体用于,在任一批次的批次压缩文件集加载完成后,将所述批次压缩文件集中的所有待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
相应地,所述文件解压模块具体用于,若根据所述日志判定所述批次压缩文件集转换失败,则对所述待查压缩文件中的所有待查压缩文件执行解压缩;
相应地,所述文件处理模块具体用于,收集所述批次压缩文件集中解压缩失败的待查压缩文件的文件标识,并从Hive库已经加载的所述批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
为了提高所述Hive库的使用效率,在将所述待查压缩文件加载入所述Hive库时采用批次的形式。所述文件分批模块将当前所有准备加载的待查压缩文件分为预设批次数N的批次压缩文件集。
所述文件加载模块依次将每个批次的批次压缩文件集加载到所述Hive库的数据目录中。
在任一批次加载完成后,所述格式转换模块将对该加载完成的批次压缩文件集中所有的待查压缩文件尝试执行格式转换,尝试将所有bz2格式的待查压缩文件转换为parquet格式,并实时监控该格式转换过程中产生的日志。
若根据对日志的监控,所述格式转换模块判定对刚加载完成的批次压缩文件集的格式转换成功,则该批次压缩文件集中的所有bz2格式的待查压缩文件都已转换为parquet格式。此时,所述格式转换模块可以指示所述文件加载模块继续执行对下一批次的批次压缩文件集的加载过程,直到所有批次都入库成功。
而若根据对日志的监控,所述格式转换模块判定对刚加载完成的批次压缩文件集的格式转换失败,则说明该批次压缩文件集中可能存在错误文件。此时,所述格式转换模块将指示所述文件解压模块对该批次压缩文件集中所有的待查压缩文件执行解压缩操作。
所述文件解压模块将在解压缩操作后依然保留bz2格式的待查压缩文件判定为错误文件,所述文件解压模块将所有错误文件的文件标识发送给所述文件处理模块。由所述文件处理模块从所述Hive库的该批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例通过将所有的待查压缩文件分批次加载到Hive库中,并在每批次加载完成后进行格式转换,若转换失败,则对该批次的批次压缩文件集进行解压缩,再根据保留的待查压缩文件的文件标识,删除所述Hive库中该批次压缩文件集中对应的待查压缩文件,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
基于上述实施例,进一步地,所述格式转换模块还用于,将执行删除操作后的批次压缩文件集中剩余的待查压缩文件转换为Hive表压缩格式。
在所述文件处理模块将错误文件从所述Hive库中对应批次压缩文件集中删除后,可指示所述格式转换模块再次对该批次压缩文件集中剩余的待查压缩文件执行格式转换。由于已经删除了该批次中所有的错误文件,因此本次格式转换将会成功,从而使所有待查压缩文件转换为parquet格式,此时可判定该批次的批次压缩文件集入库成功。
当然,若所述格式转换模块本次格式转换再次失败,则需要再次通过文件解压模块执行解压缩过程来寻找该批次压缩文件集中的错误文件,以此循环,直到该批次压缩文件集的格式转换成功,则所述格式转换模块才能指示所述文件加载模块向所述Hive库加载下一批次的批次压缩文件集。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例通过对删除错误文件后的批次压缩文件集再次执行格式转换,从而将所有的待查压缩文件转换为Hive表压缩格式,从而提高所述Hive库的存储及查询效率。
基于上述实施例,进一步地,所述文件解压模块具体用于,若根据所述日志判定所述批次压缩文件集转换失败,则将所述批次压缩文件下载到本地主机;采用多线程并行的方式,对所述批次压缩文件中的每个待查压缩文件执行解压缩。
在判定所述批次压缩文件集的格式转换失败后,所述格式转换模块需要指示所述文件解压模块对所述批次压缩文件集中所有待查压缩文件执行解压缩操作。具体过程可以由所述文件解压模块将该批次压缩文件集下载到本地主机,例如Linux主机,启动一个并行运行的线程池,所述线程池中运行有多个线程,然后,使用Linux下的bunzip2命令对该批次压缩文件集的所有的bz2格式的待查压缩文件进行并行解压。若解压成功,所述bz2格式的待查压缩文件直接转换成文本文件,若解压失败,则该bz2格式的待查压缩文件会保留。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例通过将所述批次压缩文件集下载到本地主机,再通过并行解压的方式对进行解压,从而能够对所述Hive入库的异常文件进行及时识别和处理,进而减少了所述Hive库出错的概率,提高了所述Hive库的使用效率。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:将待查压缩文件加载到Hive库中;将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将待查压缩文件加载到Hive库中;将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
进一步地,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:将待查压缩文件加载到Hive库中;将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;若解压缩失败,则将该待查压缩文件从所述Hive库中删除。
本领域普通技术人员可以理解:此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种Hive入库异常文件自动处理方法,其特征在于,包括:
将当前所有的待查压缩文件分为预设批次数的批次压缩文件集,所述批次压缩文件集至少包括一个待查压缩文件;
将待查压缩文件加载到Hive库中;具体为:按照预设的批次顺序,依次将所述批次压缩文件集加载到Hive库中;
将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;具体为,在任一批次的批次压缩文件集加载完成后,将所述批次压缩文件集中的所有待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;具体为,若根据所述日志判定所述批次压缩文件集转换失败,则对所述待查压缩文件中的所有待查压缩文件执行解压缩;
若解压缩失败,则将该待查压缩文件从所述Hive库中删除,具体为,收集所述批次压缩文件集中解压缩失败的待查压缩文件的文件标识,并从Hive库已经加载的所述批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
2.根据权利要求1所述的Hive入库异常文件自动处理方法,其特征在于,所述方法还包括:
将执行删除操作后的批次压缩文件集中剩余的待查压缩文件转换为Hive表压缩格式。
3.根据权利要求2所述的Hive入库异常文件自动处理方法,其特征在于,所述若根据所述日志判定所述批次压缩文件集转换失败,则对所述待查压缩文件中的所有待查压缩文件执行解压缩,具体为:
若根据所述日志判定所述批次压缩文件集转换失败,则将所述批次压缩文件下载到本地主机;
采用多线程并行的方式,对所述批次压缩文件中的每个待查压缩文件执行解压缩。
4.一种Hive入库异常文件自动处理装置,其特征在于,包括:
文件分批模块,用于将当前所有的待查压缩文件分为预设批次数的批次压缩文件集,所述批次压缩文件集至少包括一个待查压缩文件;
文件加载模块,用于将待查压缩文件加载到Hive库中;该模块具体用于,按照预设的批次顺序,依次将所述批次压缩文件集加载到Hive库中;
格式转换模块,用于将所述待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;该模块具体用于,在任一批次的批次压缩文件集加载完成后,将所述批次压缩文件集中的所有待查压缩文件转换为Hive表压缩格式,并监控根据转换结果生成的日志;
文件解压模块,用于若根据所述日志判定为转换失败,则对所述待查压缩文件执行解压缩;该模块具体用于,若根据所述日志判定所述批次压缩文件集转换失败,则对所述待查压缩文件中的所有待查压缩文件执行解压缩;
文件处理模块,用于若解压缩失败,则将该待查压缩文件从所述Hive库中删除;该模块具体用于,收集所述批次压缩文件集中解压缩失败的待查压缩文件的文件标识,并从Hive库已经加载的所述批次压缩文件集中删除与所述文件标识对应的待查压缩文件。
5.根据权利要求4所述的Hive入库异常文件自动处理装置,其特征在于,所述格式转换模块还用于,将执行删除操作后的批次压缩文件集中剩余的待查压缩文件转换为Hive表压缩格式。
6.根据权利要求5所述的Hive入库异常文件自动处理装置,其特征在于,所述文件解压模块具体用于,若根据所述日志判定所述批次压缩文件集转换失败,则将所述批次压缩文件下载到本地主机;采用多线程并行的方式,对所述批次压缩文件中的每个待查压缩文件执行解压缩。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述Hive入库异常文件自动处理方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述Hive入库异常文件自动处理方法的步骤。
CN201910453264.5A 2019-05-28 2019-05-28 一种Hive入库异常文件自动处理方法及装置 Active CN110222009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910453264.5A CN110222009B (zh) 2019-05-28 2019-05-28 一种Hive入库异常文件自动处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910453264.5A CN110222009B (zh) 2019-05-28 2019-05-28 一种Hive入库异常文件自动处理方法及装置

Publications (2)

Publication Number Publication Date
CN110222009A CN110222009A (zh) 2019-09-10
CN110222009B true CN110222009B (zh) 2021-08-06

Family

ID=67818256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910453264.5A Active CN110222009B (zh) 2019-05-28 2019-05-28 一种Hive入库异常文件自动处理方法及装置

Country Status (1)

Country Link
CN (1) CN110222009B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928837A (zh) * 2019-12-02 2020-03-27 胥攀 文件修复方法、系统、移动终端及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425762A (zh) * 2013-08-05 2013-12-04 南京邮电大学 基于Hadoop平台的电信运营商海量数据处理方法
CN105550293A (zh) * 2015-12-11 2016-05-04 深圳市华讯方舟软件技术有限公司 一种基于Spark-SQL大数据处理平台的后台刷新方法
CN105653698A (zh) * 2015-12-30 2016-06-08 北京奇艺世纪科技有限公司 一种数据库表Hive Table的数据加载方法和装置
CN107085622A (zh) * 2017-06-15 2017-08-22 浙江极赢信息技术有限公司 一种将数据从Hive导入传统数据仓库的方法及装置
CN107239295A (zh) * 2016-03-29 2017-10-10 腾讯科技(深圳)有限公司 一种软件升级的方法及软件升级装置
CN108984757A (zh) * 2018-07-18 2018-12-11 上海汉得信息技术股份有限公司 一种数据导入方法及设备
CN108984725A (zh) * 2018-07-11 2018-12-11 浪潮软件股份有限公司 一种跨网闸数据同步方法
CN109189608A (zh) * 2018-08-13 2019-01-11 武汉达梦数据库有限公司 一种保证复制事务一致性的方法以及相应的复制装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550296B (zh) * 2015-12-10 2018-10-30 深圳市华讯方舟软件技术有限公司 一种基于spark-SQL大数据处理平台的数据导入方法
CN108133026B (zh) * 2017-12-28 2020-10-16 深圳索信达数据技术有限公司 一种多数据的处理方法、系统及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425762A (zh) * 2013-08-05 2013-12-04 南京邮电大学 基于Hadoop平台的电信运营商海量数据处理方法
CN105550293A (zh) * 2015-12-11 2016-05-04 深圳市华讯方舟软件技术有限公司 一种基于Spark-SQL大数据处理平台的后台刷新方法
CN105653698A (zh) * 2015-12-30 2016-06-08 北京奇艺世纪科技有限公司 一种数据库表Hive Table的数据加载方法和装置
CN107239295A (zh) * 2016-03-29 2017-10-10 腾讯科技(深圳)有限公司 一种软件升级的方法及软件升级装置
CN107085622A (zh) * 2017-06-15 2017-08-22 浙江极赢信息技术有限公司 一种将数据从Hive导入传统数据仓库的方法及装置
CN108984725A (zh) * 2018-07-11 2018-12-11 浪潮软件股份有限公司 一种跨网闸数据同步方法
CN108984757A (zh) * 2018-07-18 2018-12-11 上海汉得信息技术股份有限公司 一种数据导入方法及设备
CN109189608A (zh) * 2018-08-13 2019-01-11 武汉达梦数据库有限公司 一种保证复制事务一致性的方法以及相应的复制装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
hive-错误-处理解压文件gz出错;龙明倩;《https://blog.csdn.net/longzilong216/article/details/50776616》;20160302;1-2 *
RCFile: A fast and space-efficient data placement structure in MapReduce-based warehouse systems;Yongqiang He 等;《2011 IEEE 27th International Conference on Data Engineering》;20110416;1199-1208 *
基于RCFile存储模型的分布式压缩存储优化研究;何海洋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215(第2期);I137-120 *

Also Published As

Publication number Publication date
CN110222009A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110196836B (zh) 一种数据存储方法及装置
US8627146B2 (en) Model-based testing of an application program under test
CN109344053B (zh) 接口覆盖测试方法、系统、计算机设备和存储介质
CN110647415B (zh) 数据库检测方法、装置、设备及计算机可读存储介质
CN111930695B (zh) 一种车载终端的微处理器运行日志存储方法及装置
CN110222009B (zh) 一种Hive入库异常文件自动处理方法及装置
CN112953983A (zh) Sftp传输方法及装置
CN108121774B (zh) 一种数据表备份方法及终端设备
CN114564446A (zh) 一种文件存储的方法、装置、系统及存储介质
CN106445737B (zh) 一种多备份启动方法
CN110287182B (zh) 一种大数据的数据对比方法、装置、设备及终端
CN114528350B (zh) 集群脑裂的处理方法、装置、设备及可读存储介质
CN111338842A (zh) 文件备份方法及装置
CN115454860A (zh) 一种自动化测试的方法、装置、存储介质及电子设备
CN115168236A (zh) 自动化测试方法及电子设备、存储介质
CN115114284A (zh) 一种表变更处理方法及系统
CN109960630B (zh) 一种快速从大批量压缩文件中提取日志的方法
CN109947429B (zh) 数据处理方法及装置
CN112887318A (zh) 一种基于互联网的云端数据处理方法
CN112422693A (zh) 一种用户在线短视频草稿队列的导出方法
CN113759859B (zh) 一种分散控制系统在线组态对比方法和系统
CN113312063B (zh) 基于Kubernetes的软件系统快速部署升级方法
CN111752590A (zh) 运维管理方法和系统
CN112733210B (zh) 一种设备标识获取方法、装置和计算机可读存储介质
CN112532681A (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