基于Sqoop工具的数据传输方法、装置、设备及介质与流程

文档序号:17442420发布日期:2019-04-17 04:56阅读:198来源:国知局
基于Sqoop工具的数据传输方法、装置、设备及介质与流程

本发明涉及数据存储领域,特别是涉及一种基于sqoop工具的数据传输方法、装置、设备及介质。



背景技术:

随着大数据时代的到来,数据逐渐成为仅次于石油的重要资源,对于数据的存储是当今企业关注的重点。为了应对大数据,近年来出现了大量的软件工具,最常用的十几个针对大数据管理、处理、计算和分析的工具或软件被称为apache大数据组件。

apache大数据组件中的hadoop框架是一个越来越通用的分布式框架,主要用来存储、管理和计算大数据。在对hadoop框架的实际应用中,往往会涉及到将数据集在hadoop框架与传统数据库之间转移的操作,由于数据集中的数据量庞大,这就需要在数据的转移过程中保持较低传输开销,并且确保海量数据的传输安全。在上述需求下,apache的sqoop工具应运而生,其可以相对低开销且稳定的在hadoop框架与关系型数据库之间转移大量数据。但是由于当前需要基于linux操作命令对sqoop工具进行控制,需要用户掌握linuxcmd下的一系列输入指令才能够正常使用sqoop工具,因此当前通过sqoop工具进行数据传输的易用性较低,用户体验较差。

由此可见,提供一种基于sqoop工具的数据传输方法,以相对提高通过sqoop工具进行数据传输的易用性,进而相对提高用户体验,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种基于sqoop工具的数据传输方法、装置、设备及介质,以相对提高通过sqoop工具进行数据传输的易用性,进而相对提高用户体验。

为解决上述技术问题,本发明提供一种基于sqoop工具的数据传输方法,包括:

获取预设的sqoop指令模板;其中,sqoop指令模板中的参数项为空值;

接收用户通过图形界面设置的任务参数,并根据任务参数在sqoop指令模板的参数项内添加相应的参数值,生成目标sqoop指令;

运行目标sqoop指令以控制目标sqoop工具执行数据传输操作。

优选的,任务参数包括数据库地址、hdfs地址、目标数据表以及表征由数据库地址至hdfs地址的数据传输方向;

相应的,运行目标sqoop指令以控制目标sqoop工具执行数据传输操作具体为:

运行目标sqoop指令以控制目标sqoop工具依照数据传输方向将数据库地址下的目标数据表的数据传输至hdfs地址下的存储空间。

优选的,目标数据表的数量大于1。

优选的,在运行目标sqoop指令以控制目标sqoop工具执行数据传输操作后,该方法进一步包括:

记录任务参数与目标sqoop指令的对应关系;

当再次接收到任务参数时,根据对应关系查找并运行任务参数对应的目标sqoop指令。

优选的,接收用户通过图形界面设置的任务参数具体为:

接收用户通过在图形界面点选选项和/或拖拽图标而设置的任务参数。

此外,本发明还提供一种基于sqoop工具的数据传输装置,包括:

模板获取模块,用于获取预设的sqoop指令模板;其中,sqoop指令模板中的参数项为空值;

指令生成模块,用于接收用户通过图形界面设置的任务参数,并根据任务参数在sqoop指令模板的参数项内添加相应的参数值,生成目标sqoop指令;

指令执行模块,用于运行目标sqoop指令以控制目标sqoop工具执行数据传输操作。

此外,本发明还提供一种基于sqoop工具的数据传输设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的基于sqoop工具的数据传输方法的步骤。

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于sqoop工具的数据传输方法的步骤。

本发明所提供的基于sqoop工具的数据传输方法,首先获取预设的sqoop指令模板,sqoop指令模板中的参数项为空值,即sqoop指令模板是参数项尚未设置参数值的sqoop指令,进而接收用户通过图像界面设置的任务参数,并根据任务参数的内容在sqoop指令模板的参数项内添加相应的参数值,以此将sqoop指令模板的参数项补充完整,生成目标sqoop指令,进而通过运行目标sqoop指令控制目标sqoop工具执行相应的数据传输操作。由于本方法中,用户仅需要通过图形界面设置的任务参数,即可根据任务参数在sqoop指令模板中添加相应的参数值,以生成可控制目标sqoop工具执行相应数据传输操作的目标sqoop指令,因此相比于现有技术而言,本方法无需用户输入操作命令即可实现对sqoop工具的控制,相对提高了通过sqoop工具进行数据传输的易用性,进而相对提高了用户体验。此外,本发明还提供一种基于sqoop工具的数据传输装置、设备及介质,有益效果同上所述。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于sqoop工具的数据传输方法的流程图;

图2为本发明实施例提供的一种基于sqoop工具的数据传输装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种基于sqoop工具的数据传输方法,以相对提高通过sqoop工具进行数据传输的易用性,进而相对提高用户体验。本发明的另一核心是提供一种基于sqoop工具的数据传输装置、设备及介质。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种基于sqoop工具的数据传输方法的流程图。请参考图1,基于sqoop工具的数据传输方法的具体步骤包括:

步骤s10:获取预设的sqoop指令模板。

其中,sqoop指令模板中的参数项为空值。

需要说明的是,本步骤中的sqoop指令模板相当于尚未添加参数值的sqoop指令,sqoop指令模板中的参数项添加不同的参数值能够生成相应的sqoop指令,在执行时能够对sqoop工具进行相应的逻辑控制,实现对应的数据传输功能。

步骤s11:接收用户通过图形界面设置的任务参数,并根据任务参数在sqoop指令模板的参数项内添加相应的参数值,生成目标sqoop指令。

本步骤的重点在于用户通过图形界面设置任务参数,进而接收用户设置的任务参数,并根据任务参数在sqoop指令模板的参数项中添加相应的参数值,以此生成具有实际使用意义的目标sqoop指令。需要说明的是,由于sqoop指令往往是以代码的形式呈现的,而对于用户而言代码的直观性往往较差,因此本步骤中用户通过图形界面设置任务参数可以是以输入文字的形式设置,或以拖拽图标、点选选项的方式进行设置,进而在根据任务参数在sqoop指令模板的参数项内添加相应的参数值时,需要将任务参数对应转化为sqoop指令能够正常读取及使用的参数值,进而根据任务参数在sqoop指令模板的参数项内添加相应的参数值,生成目标sqoop指令。该参数值的具体形式可以为数字或字符串,应根据实际的sqoop指令模板的内容要求而定,在此不做具体限定。

步骤s12:运行目标sqoop指令以控制目标sqoop工具执行数据传输操作。

本步骤是根据通过运行上述步骤生成的目标sqoop指令,以此控制目标sqoop工具执行关系型数据库与hadoop框架之间的数据传输操作,由于sqoop工具能够实现数据在关系型数据库与hadoop框架之间的双向传输,因此本步骤中的传输操作不限定具体的数据传输流向。

本发明所提供的基于sqoop工具的数据传输方法,首先获取预设的sqoop指令模板,sqoop指令模板中的参数项为空值,即sqoop指令模板是参数项尚未设置参数值的sqoop指令,进而接收用户通过图像界面设置的任务参数,并根据任务参数的内容在sqoop指令模板的参数项内添加相应的参数值,以此将sqoop指令模板的参数项补充完整,生成目标sqoop指令,进而通过运行目标sqoop指令控制目标sqoop工具执行相应的数据传输操作。由于本方法中,用户仅需要通过图形界面设置的任务参数,即可根据任务参数在sqoop指令模板中添加相应的参数值,以生成可控制目标sqoop工具执行相应数据传输操作的目标sqoop指令,因此相比于现有技术而言,本方法无需用户输入操作命令即可实现对sqoop工具的控制,相对提高了通过sqoop工具进行数据传输的易用性,进而相对提高了用户体验。

实施例二

在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。

作为一种优选的实施方式,任务参数包括数据库地址、hdfs地址、目标数据表以及表征由数据库地址至hdfs地址的数据传输方向;

相应的,运行目标sqoop指令以控制目标sqoop工具执行数据传输操作具体为:

运行目标sqoop指令以控制目标sqoop工具依照数据传输方向将数据库地址下的目标数据表的数据传输至hdfs地址下的存储空间。

需要说明的是,由于考虑到在实际应用中,通常是将传统型数据库中的表传输至大数据环境下以进行大数据处理,并且hadoop框架下的hdfs(分布式文件系统)能提供高吞吐量的数据读写支持,适合在大规模数据集上应用,因此本实施方式将数据库中的数据传输至hadoop框架下的hdfs存储空间中,因此本实施方式中的任务参数包括数据库地址、hdfs地址、目标数据表以及表征由数据库地址至hdfs地址的数据传输方向,进而在根据任务参数生成目标sqoop指令后,运行目标sqoop指令以控制目标sqoop工具依照数据传输方向将数据库地址下的目标数据表的数据传输至hdfs地址下的存储空间。本实施方式在通过sqoop工具确保数据传输可靠性的同时,相对提高了将数据传输至hadoop框架的整体效率。

在上述实施方式的基础上,作为一种优选的实施方式,目标数据表的数量大于1。

考虑到在实际应用中,由数据库传输至hadoop框架的数据来源多样并且数据量庞大,而单一的目标数据表往往难以对不同来源的海量数据进行记录,因此本实施方式中目标数据表的数量大于1,也就是说,用户通过图形界面设置多个用于数据传输的目标数据表,进而在进行由数据库至hadoop框架下的hdfs的数据传输时,能够相对提高数据的整体数量以及来源的多样性,进而相对提高大数据环境下的内容丰富性。

此外,作为一种优选的实施方式,在运行目标sqoop指令以控制目标sqoop工具执行数据传输操作后,该方法进一步包括:

记录任务参数与目标sqoop指令的对应关系;

当再次接收到任务参数时,根据对应关系查找并运行任务参数对应的目标sqoop指令。

需要说明的是,由于考虑到在实际应用中,用户可能需要反复进行相同的数据传输操作,因此可能存在重复接收用户通过图形界面设置的相同任务参数的情况,导致每次接收到任务参数后均需要根据任务参数在sqoop指令模板的基础上添加相同的参数值,因此由sqoop指令模板生成目标sqoop指令的操作中,相同操作内容的重复程度较高,导致目标sqoop指令的整体生成开销较大,因此本实施方式在运行目标sqoop指令以控制目标sqoop工具执行数据传输操作后,记录任务参数与目标sqoop指令的对应关系,进而当再次接收到任务参数时,根据对应关系查找并运行任务参数对应的目标sqoop指令,因此本实施方式当再次收到已经处理的任务参数时,无需再次根据任务参数重复生成相应的目标sqoop指令,实现了目标sqoop指令的一次生成多次使用,相对降低了目标sqoop指令的整体生成开销。

在上述实施方式的基础上,作为一种优选的实施方式,接收用户通过图形界面设置的任务参数具体为:

接收用户通过在图形界面点选选项和/或拖拽图标而设置的任务参数。

需要说明的是,由于考虑到在图形界面中点选选项和/或拖拽图标的方式设置任务参数,相比于用户输入文字的方式设置任务参数而言更加直观且高效,因此本实施方式接收用户通过在图形界面点选选项和/或拖拽图标而设置的任务参数,能够在确保sqoop工具易用性的同时进一步提高用户的使用效率以及用户体验。

实施例三

在上文中对于基于sqoop工具的数据传输方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的基于sqoop工具的数据传输装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图2为本发明实施例提供的一种基于sqoop工具的数据传输装置的结构图。本发明实施例提供的基于sqoop工具的数据传输装置,包括:

模板获取模块10,用于获取预设的sqoop指令模板;其中,sqoop指令模板中的参数项为空值。

指令生成模块11,用于接收用户通过图形界面设置的任务参数,并根据任务参数在sqoop指令模板的参数项内添加相应的参数值,生成目标sqoop指令。

指令执行模块12,用于运行目标sqoop指令以控制目标sqoop工具执行数据传输操作。

本发明所提供的基于sqoop工具的数据传输装置,首先获取预设的sqoop指令模板,sqoop指令模板中的参数项为空值,即sqoop指令模板是参数项尚未设置参数值的sqoop指令,进而接收用户通过图像界面设置的任务参数,并根据任务参数的内容在sqoop指令模板的参数项内添加相应的参数值,以此将sqoop指令模板的参数项补充完整,生成目标sqoop指令,进而通过运行目标sqoop指令控制目标sqoop工具执行相应的数据传输操作。由于本装置中,用户仅需要通过图形界面设置的任务参数,即可根据任务参数在sqoop指令模板中添加相应的参数值,以生成可控制目标sqoop工具执行相应数据传输操作的目标sqoop指令,因此相比于现有技术而言,本装置无需用户输入操作命令即可实现对sqoop工具的控制,相对提高了通过sqoop工具进行数据传输的易用性,进而相对提高了用户体验。

实施例四

此外,本发明还提供一种基于sqoop工具的数据传输设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的基于sqoop工具的数据传输方法的步骤。

本发明所提供的基于sqoop工具的数据传输设备,首先获取预设的sqoop指令模板,sqoop指令模板中的参数项为空值,即sqoop指令模板是参数项尚未设置参数值的sqoop指令,进而接收用户通过图像界面设置的任务参数,并根据任务参数的内容在sqoop指令模板的参数项内添加相应的参数值,以此将sqoop指令模板的参数项补充完整,生成目标sqoop指令,进而通过运行目标sqoop指令控制目标sqoop工具执行相应的数据传输操作。由于本设备中,用户仅需要通过图形界面设置的任务参数,即可根据任务参数在sqoop指令模板中添加相应的参数值,以生成可控制目标sqoop工具执行相应数据传输操作的目标sqoop指令,因此相比于现有技术而言,本设备无需用户输入操作命令即可实现对sqoop工具的控制,相对提高了通过sqoop工具进行数据传输的易用性,进而相对提高了用户体验。

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于sqoop工具的数据传输方法的步骤。

本发明所提供的计算机可读存储介质,首先获取预设的sqoop指令模板,sqoop指令模板中的参数项为空值,即sqoop指令模板是参数项尚未设置参数值的sqoop指令,进而接收用户通过图像界面设置的任务参数,并根据任务参数的内容在sqoop指令模板的参数项内添加相应的参数值,以此将sqoop指令模板的参数项补充完整,生成目标sqoop指令,进而通过运行目标sqoop指令控制目标sqoop工具执行相应的数据传输操作。由于本计算机可读存储介质中,用户仅需要通过图形界面设置的任务参数,即可根据任务参数在sqoop指令模板中添加相应的参数值,以生成可控制目标sqoop工具执行相应数据传输操作的目标sqoop指令,因此相比于现有技术而言,本计算机可读存储介质无需用户输入操作命令即可实现对sqoop工具的控制,相对提高了通过sqoop工具进行数据传输的易用性,进而相对提高了用户体验。

以上对本发明所提供的一种基于sqoop工具的数据传输方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1