【技术实现步骤摘要】
将数据导入数据库的方法、装置、设备及计算机存储介质
[0001]本申请涉及计算机
,尤其涉及数据库
,提供一种将数据导入数据库的方法、装置、设备及计算机存储介质。
技术介绍
[0002]随着大数据技术的普及,越来越多的企业引入大数据技术栈,并使用大数据技术对海量数据进行处理与挖掘,然后把计算结果传输给下游系统进行使用。
[0003]相关技术中,将计算结果提供给下游系统主要通过两种方式,一种方式是在获得计算结果数据后,将计算结果数据卸载到本地,并通过文件传输工具分发到下游系统,从而下游系统通过数据加载工具加载到数据库中,但是,这种方式导入到数据库的过程流程长,不仅容易出错并且时延较高。另一种方式是通过大数据技术栈直接写入到下游数据库,但是这种方式在写入下游系统的数据库的过程中,在中途失败时,为了数据的完整性,就必须先删除所有数据,再重头进行导入,这样会浪费大量时间,使得导入效率极低。
技术实现思路
[0004]本申请实施例提供一种将数据导入数据库的方法、装置、设备及计算机存储介质,用于实现数据导入数据库时的断点重传功能,提升数据导入的效率。
[0005]一方面,提供一种将数据导入数据库的方法,该方法包括:
[0006]基于预设的源数据存储路径,读取待导入的目标数据文件;
[0007]对所述目标数据文件进行分片处理,并基于获得的多个分片文件,更新传输任务列表;其中,在所述传输任务列表中,每个传输任务对应一个分片文件;
[0008]循环遍历所述传输任务列表 ...
【技术保护点】
【技术特征摘要】
1.一种将数据导入数据库的方法,其特征在于,所述方法包括:基于预设的源数据存储路径,读取待导入的目标数据文件;对所述目标数据文件进行分片处理,并基于获得的多个分片文件,更新传输任务列表;其中,在所述传输任务列表中,每个传输任务对应一个分片文件;循环遍历所述传输任务列表,直至所述传输任务列表为空为止;其中,在每次遍历时读取一个传输任务,并分批次将所述传输任务对应的目标分片文件导入目标数据库中,每一个批次的导入过程包括:根据相应的任务偏移量,定位至所述目标分片文件中的数据读取位置,并基于所述数据读取位置读取的数据,生成本批次的数据库导入指令;其中,所述任务偏移量用于指示所述目标分片文件中已完成导入的数据;将生成的数据库导入指令发送给所述目标数据库,并更新所述任务偏移量。2.如权利要求1所述的方法,其特征在于,在所述基于预设的源数据存储路径,读取待导入的目标数据文件之前,所述方法还包括:响应于数据库导入操作,获得本次数据库导入任务所需的任务运行参数,所述任务运行参数包括数据源信息以及源数据操作信息;基于所述数据源信息,确定待导入的数据源的数据源类型;若所述数据源类型为内部数据源,且基于所述源数据操作信息,确定无需针对源数据进行数据库操作,则将所述内部数据源的存储路径更新为源数据存储路径;若所述数据源类型为外部数据源,且基于所述源数据操作信息,确定无需针对源数据进行数据库操作,则从外部数据源中读取源数据,并存储至所述源数据存储路径。3.如权利要求2所述的方法,其特征在于,在所述基于所述数据源信息,确定待导入的数据源的数据源类型之后,所述方法还包括:若为内部数据源,且基于所述源数据操作信息确定需要针对源数据进行数据库操作,则从所述内部数据源读取源数据并执行所述数据库操作后,将操作后的源数据存储至所述内部数据源,并将内部数据源的存储路径更新为源数据存储路径;若所述数据源类型为外部数据源,且基于所述源数据操作信息,确定无需针对源数据进行数据库操作,则从外部数据源中读取源数据并执行所述数据库操作后,将操作后的源数据存储至所述源数据存储路径。4.如权利要求2所述的方法,其特征在于,所述源数据存储路径指示分布式文件系统的存储路径;则所述从外部数据源中读取源数据,并存储至所述源数据存储路径,包括:通过大数据计算引擎,从所述外部数据源中读取源数据,并存储至所述分布式文件系统中。5.如权利要求1所述的方法,其特征在于,所述对所述目标数据文件进行分片处理,包括:若指定了分片处理所需的基准字段,则基于所述目标数据文件中所述基准字段的取值,确定分片参考值;若未指定分片处理所需的基准字段,则基于所述目标数据文件中的主键的取值,确定所述分片参考值;
基于所述分片参考值,以及指定的分片数量,确定所述目标数据文件进行分片处理时的分片划分点;基于所述分片划分点,对所述目标数据文件进行分片处理,相应获得多个分片文件。6.如权利要求1~5任一所述的方法,其特征在于,在每次遍历时读取一个传输任务,并分批次将所述传输任务对应的目标分片文件导入目标数据库中,包括:在每次遍历时读取一个...
【专利技术属性】
技术研发人员:蒋松,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。