掌桥专利:专业的专利平台
掌桥专利
首页

远程客户端和Hive表之间的数据传输方法、系统和存储介质

文献发布时间:2024-04-18 19:58:26


远程客户端和Hive表之间的数据传输方法、系统和存储介质

技术领域

本公开实施例涉及数据传输技术领域,尤其涉及一种远程客户端和Hive表之间的数据传输方法、系统和存储介质。

背景技术

在开源Hive中,将数据从外部源加载到Hive表中需要使用LOAD语法,将Hive表数据导出需要使用INSERT DIRECTORY语法。

针对上述开源基本功能,现有如下三种解决方案,以实现远程客户端数据与Hive表内数据进行传递:方案1.使用Hadoop put、distcp等命令行工具,将本地数据上传到Hadoop分布式文件系统,然后使用Hive的“LOAD DATA INPATH”语句将数据从Hadoop分布式文件系统加载到Hive表中。反之,使用“INSERT OVERWRITE DIRECTORY”语句将数据导出到Hadoop分布式文件系统,然后使用Hadoop get、distcp等命令行工具将数据下载到远程客户端。方案2.使用外部数据同步工具(如Sqoop),将本地数据抽取到Hadoop分布式文件系统种,然后使用Hive的“LOAD DATA INPATH”语句将数据从Hadoop分布式文件系统加载到Hive表中。反之,使用“INSERT OVERWRITE DIRECTORY”语句将数据导出到Hadoop分布式文件系统,然后使用外部数据同步工具将数据下载到远程客户端。方案3.将数据从远程客户端SCP到HiveServer2部署机器的磁盘上,然后使用Hive的“LOAD DATA LOCAL INPATH”语句将数据从HiveServer2所在机器上加载到Hive表中。反之,使用“INSERT OVERWRITE LOCALDIRECTORY”语句将数据导出到HiveServer2部署机器磁盘上,然后再通过SCP命令将数据同步到远程客户端。

尽管存在以上多种方案实现客户端本地数据与Hive表进行数据传递,但是都存在操作步骤繁琐且依赖多个组件模块的问题,进而导致日常开发工作复杂冗余,影响开发效率,同时也导致人力资源的浪费。此外,方案3需要使用HiveServer2磁盘,数据量过大会对服务端的稳定性有极大影响。

发明内容

本公开实施例提供一种远程客户端和Hive表之间的数据传输方法、系统和存储介质,在简化用户操作的同时不会影响服务端的稳定性。

第一方面,本公开实施例提供了一种远程客户端和Hive表之间的数据传输方法,所述方法包括:

远程客户端响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据;

所述Hive服务端对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群;

基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输。

第二方面,本公开实施例还提供了一种远程客户端和Hive表之间的数据传输系统,用于执行如本公开任一实施例所述的远程客户端和Hive表之间的数据传输方法,所述系统包括远程客户端、Hive服务端、分布式文件系统和Yarn集群,其中:

远程客户端用于响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据;

所述Hive服务端用于对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群;

所述远程客户端和所述Yarn集群用于基于所述中转存储路径以及所述数据传输执行计划,协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输。

第三方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本公开任一实施例所述的远程客户端和Hive表之间的数据传输方法。

本公开实施例中的远程客户端响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据;所述Hive服务端对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群;基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输,上述通过利用远程客户端修改数据传输指令为数据中转传输指令,在远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据,使用户仅触发一次数据传输指令,即可实现远程客户端与Hive表之间的数据传输,降低了用户的操作成本,提升了用户的操作效率,有效地解决了日常开发工作中复杂冗余操作的问题,提升了开发效率,具有良好的实际应用效果,同时,也保障了服务端的安全,提高了服务端的稳定性,避免了将Hive服务端本地数据删除或者覆盖的情况。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为本公开实施例提供的一种远程客户端和Hive表之间的数据传输方法的流程图;

图2为本公开实施例提供的一种远程客户端和Hive表之间的数据上传方法的流程图;

图3为本公开实施例提供的一种远程客户端和Hive表之间的数据下载方法的流程图;

图4为本公开实施例提供的一种远程客户端和Hive表之间的数据传输系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

图1为本公开实施例提供的一种远程客户端和Hive表之间的数据传输方法的流程图。本实施例可适用于远程客户端与Hive表之间进行数据传输的情况,该方法可以由远程客户端和Hive表之间的数据传输系统来执行。如图1所示,该方法可以包括如下步骤:

S110、远程客户端响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据。

优选的,本实施例基于Hadoop分布式系统基础架构执行。在本实施例中,远程客户端可以是Beeline客户端,该客户端为一种命令行形式的jdbc(Java DatabaseConnectivity,Java数据库连接)客户端,数据传输指令为用户基于远程客户端界面触发的,用于在远程客户端和Hive表之间进行数据传输的指令,示例性的,所述数据传输指令包括数据上传指令或数据下载指令,其中,数据上传指令为用于将待传输数据从远程客户端上传到Hive表的指令,数据下载指令为用于将待传输数据从Hive表下载到远程客户端的指令。其中,Hive为基于Hadoop的一个数据仓库工具,Hive表为数据仓库工具表格,待传输数据可以是离线业务数据、离线生产数据等。优选的,数据传输指令为SQL(Structured QueryLanguage,结构化查询语言)语句。Hive服务端优选可以是HiveServer2服务端。

一般的,远程客户端无法直接和Hive表之间进行数据传输,为了减少用户操作,本实施例在远程客户端接收到用户触发的数据传输指令之后,将数据传输指令自动修改为数据中转传输指令,以借助中转存储路径实现远程客户端和Hive表之间的数据传输,即在远程客户端与Hive表进行数据传输的过程中,待传输数据从初始路径经由中转存储路径到达目标路径,其中,数据中转传输指令用于在远程客户端与Hive表进行数据传输的过程中,指示待传输数据的存储路径为中转存储路径。本实施例中,将数据传输指令修改为数据中转传输指令可以是将数据传输指令中的客户端路径修改为中转存储路径。中转存储路径可以是在将数据传输指令修改为数据中转传输指令之前预先设置在分布式文件系统下(Hdfs,Hadoop Distribute File System,Hadoop分布式文件系统)的,也可以是在将数据传输指令修改为数据中转传输指令之后设置在分布式文件系统下的。为了避免中转存储路径重复,优选的,中转存储路径中用于存储待传输数据的文件夹名称为随机拼接的字符串,示例性的,随机拼接的字符串可以是UUID(Universally Unique Identifier,通用唯一识别码)拼接的字符串。

S120、所述Hive服务端对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群。

其中,数据传输执行计划用于指示Yarn集群基于中转存储路径进行数据传输。示例性的,若数据传输指令为数据上传指令,则数据传输执行计划为数据上传执行计划,用于指示Yarn集群基于中转存储路径将待传输数据上传到Hive表,若数据传输指令为数据下载指令,则数据传输执行计划为数据下载执行计划,用于指示Yarn集群从Hive表中下载待传输数据到中转存储路径。

S130、基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输。

示例性的,若数据传输指令为数据上传指令,则远程客户端可以根据数据上传指令将待传输数据上传到中转存储路径,Yarn集群根据数据传输执行计划,将中转存储路径中的待传输数据上传到Hive表。若数据传输指令为数据下载指令,则Yarn集群可以根据数据传输执行计划,将Hive表中的待传输数据下载到中转存储路径中,远程客户端从中转存储路径中获取待传输数据到本地路径。

需要说明的是,在执行本公开任一实施例所提供的远程客户端和Hive表之间的数据传输方法之前,可以预先搭建Hadoop集群,启动Hdfs分布式文件系统存储服务及Yarn集群资源调度服务;然后下载Hive源码,修改Hive-Beeline模块,在HiveStatement.execute()方法中,添加远程客户端和Hive表之间的数据传输方法相对应的逻辑;再编译修改后的代码,生成新版本的Beeline客户端,并配置Hive相关参数,部署到Beeline客户端。

本公开实施例中的远程客户端响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据;所述Hive服务端对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群;基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输,上述通过利用远程客户端修改数据传输指令为数据中转传输指令,在远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据,使用户仅触发一次数据传输指令,即可实现远程客户端与Hive表之间的数据传输,降低了用户的操作成本,提升了用户的操作效率,有效地解决了日常开发工作中复杂冗余操作的问题,提升了开发效率,具有良好的实际应用效果,同时,也保障了服务端的安全,提高了服务端的稳定性,避免了将Hive服务端本地数据删除或者覆盖的情况。

在上述各实施例的基础上,进一步的,远程客户端响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令,包括:所述远程客户端将所述数据传输指令中的客户端路径修改为所述中转存储路径。

本实施例通过利用远程客户端将数据传输指令中的客户端路径修改为中转存储路径,达到了无需用户进行额外操作,即可将待传输数据从初始路径存储到中转存储路径,进而传输到的目标路径的效果。

可选的,将数据传输指令中的客户端路径修改为中转存储路径,可以是将客户端路径的根目录(该根目录为远程客户端)修改为分布式文件系统,将修改根目录后的客户端路径作为中转存储路径,也可以是预先生成中转存储路径,然后将客户端路径修改为预先生成的中转存储路径,上述实施方式仅为示例性说明,具体实施方式此处不作特殊限定。

在上述各实施例的基础上,进一步的,若所述数据传输指令为数据上传指令,所述数据传输执行计划为数据上传执行计划,所述待传输数据为待上传数据,所述中转存储路径为第一中转存储路径,则基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,包括:所述远程客户端响应于所述数据上传指令,在分布式文件系统中创建所述第一中转存储路径,并将待上传数据上传到所述第一中转存储路径下;所述Yarn集群根据所述数据上传执行计划,在所述第一中转存储路径中提取所述待上传数据,将所述待上传数据写入第一Hive表路径下。

优选的,远程客户端通过调用分布式文件系统的API接口,在分布式文件系统中当前用户的根路径下创建第一中转存储路径,其中,API接口优选为预先构建的分布式文件系统new FileSystem()。本实施例中,远程客户端响应于所述数据上传指令之后,可以先在分布式文件系统中创建第一中转存储路径,然后再将数据上传指令修改为包括第一中转存储路径的数据中转上传指令,也可以先将数据上传指令修改为包括第一中转存储路径的数据中转上传指令,然后再在分布式文件系统中创建第一中转存储路径。优选的,远程客户端可以通过调用FileSystem.copyFromLocalFile函数,将待上传文件从远程客户端上传到第一中转存储路径。需要说明的是,第一Hive表路径对应的根目录为分布式存储系统,即Yarn集群在分布式文件系统中的第一中转存储路径中提取到待上传数据之后,将待上传数据存储到分布式文件系统中的第一Hive表路径下。

本实施例的技术方案能够使用户仅触发一次数据传输指令,即可实现将远程客户端中的待传输数据上传到Hive表的操作,降低了数据上传过程中用户的操作成本,提升了用户的操作效率。

图2为本公开实施例提供的一种远程客户端和Hive表之间的数据上传方法的流程图,其中,远程客户端为Beeline客户端,如图2所示,该方法具体包括:

S210、Beeline客户端响应于用户触发的数据上传指令,将数据上传指令修改为数据中转上传指令。

S220、Beeline客户端在分布式文件系统中创建第一中转存储路径。

S230、Beeline客户端将待上传数据上传到第一中转存储路径下。

S240、Beeline客户端将数据中转上传指令发送给Hive服务端。

S250、Hive服务端对数据中转上传指令进行解析编译,生成数据上传执行计划,并将数据上传执行计划发送给Yarn集群。

S260、Yarn集群根据数据上传执行计划,在分布式文件系统下的第一中转存储路径中提取待上传数据。

S270、Yarn集群将待上传数据写入分布式文件系统中第一Hive表路径下。

图2还示出了用户视角下的数据上传过程,在用户视角下,Beeline客户端和Hive表之间的数据上传方法仅包括两个步骤,具体如下:

S21、用户基于Beeline客户端触发数据上传指令。

S22、用户基于Beeline客户端确定文件上传成功。

在上述各实施例的基础上,进一步的,若所述数据传输指令为数据下载指令,所述数据传输执行计划为数据下载执行计划,所述待传输数据为待下载数据,所述中转存储路径为第二中转存储路径,则基于所述中转存储路径以及所述数据传输执行计划,所述远程客户端和所述Yarn集群协同执行数据传输操作,包括:所述远程客户端响应于所述数据下载指令,在分布式文件系统中创建所述第二中转存储路径;所述Yarn集群根据所述数据下载执行计划,将第二Hive表路径中的所述待下载数据存储到所述第二中转存储路径下;所述远程客户端在监测到所述待下载数据存储到所述第二中转存储路径下之后,下载所述待下载数据。

优选的,远程客户端通过调用分布式文件系统的API接口,在分布式文件系统中当前用户的根路径下创建第二中转存储路径,其中,API接口优选为预先构建的分布式文件系统new FileSystem()。本实施例中,所述远程客户端响应于所述数据下载指令之后,可以先在分布式文件系统中创建第二中转存储路径,然后再将数据下载指令修改为包括第二中转存储路径的数据中转下载指令,也可以先将数据下载指令修改为包括第二中转存储路径的数据中转下载指令,然后再在分布式文件系统中创建第二中转存储路径。优选的,远程客户端在监测到待下载数据存储到第二中转存储路径下之后,可以通过调用FileSystem.moveToLocalFile函数,将待下载文件从第二中转存储路径下载到远程客户端本地路径。

本实施例的技术方案能够使用户仅触发一次数据传输指令,即可实现将Hive表中的待传输数据下载到远程客户端的操作,降低了数据下载过程中用户的操作成本,提升了用户的操作效率。

图3为本公开实施例提供的一种远程客户端和Hive表之间的数据下载方法的流程图,其中,远程客户端为Beeline客户端,如图3所示,该方法具体包括:

S310、Beeline客户端响应于用户触发的数据下载指令,将数据下载指令修改为数据中转下载指令。

S320、Beeline客户端在分布式文件系统中创建第二中转存储路径。

S330、Beeline客户端将数据中转下载指令发送给Hive服务端。

S340、Hive服务端对数据中转下载指令进行解析编译,生成数据下载执行计划并发送给Yarn集群。

S350、Yarn集群根据数据下载执行计划,将第二Hive表路径中的待下载数据写入第二中转存储路径下。

S360、Beeline客户端在监测到待下载数据写入第二中转存储路径下之后,下载待下载数据到本地。

图3还示出了用户视角下的数据下载过程,在用户视角下,Beeline客户端和Hive表之间的数据下载方法仅包括两个步骤,具体如下:

S31、用户基于Beeline客户端触发数据下载指令。

S32、用户基于Beeline客户端确定文件下载成功。

在上述各实施例的基础上,进一步的,在将所述数据传输指令修改为数据中转传输指令之前,还包括:对所述数据传输指令进行验证;若所述数据传输指令为所述远程客户端与Hive表之间进行数据传输的指令,则将所述数据传输指令修改为所述数据中转传输指令;否则,保持所述数据传输指令不变。

由于远程客户端上传的SQL语句多样,为了避免出现指令修改错误的情况,需要在修改数据传输指令之前,对数据传输指令进行验证。具体的,可以通过验证SQL语句中是否包括LOAD语句或INSERT语句,来确定其是否为所述远程客户端与Hive表之间进行数据传输的指令。若SQL语句中包括LOAD语句或INSERT语句,则可以确定该指令为远程客户端与Hive表之间进行数据传输的指令,此时,可以将数据传输指令修改为数据中转传输指令,若不包括,则可以确定该指令为其他指令,此时,可以保持数据传输指令不变,直接进行后续指令传输操作。

在上述各实施例的基础上,进一步的,在完成所述待传输数据在所述远程客户端与Hive表之间的传输之后,还包括:所述分布式文件系统将所述中转存储路径以及所述中转存储路径下的所述待传输数据删除。

由于中转存储路径用于在远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据,因此,当远程客户端与Hive表之间完成数据传输之后,中转存储路径以及其存储的待传输数据将变得冗余,为了降低分布式文件系统的空间占用率,减少数据冗余,优选在完成待传输数据在远程客户端与Hive表之间的传输之后,分布式文件系统将中转存储路径以及中转存储路径下的待传输数据删除。可选的,分布式文件系统可以调用FileSystem.delete将将中转存储路径以及中转存储路径下的待传输数据删除。

图4为本公开实施例提供的一种远程客户端和Hive表之间的数据传输系统的结构示意图。本实施例用于执行上述任一实施例所述的远程客户端和Hive表之间的数据传输方法,所述系统包括远程客户端410、Hive服务端420、分布式文件系统430和Yarn集群440,其中:

远程客户端410用于响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端420,其中,数据中转传输指令包括分布式文件系统430下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储所述待传输数据;

所述Hive服务端420用于对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群440;

所述远程客户端410和所述Yarn集群440用于基于所述中转存储路径以及所述数据传输执行计划,协同执行数据传输操作,以完成所述待传输数据在所述远程客户端410与Hive表之间的传输。

本公开实施例中的远程客户端用于响应于用户触发的数据传输指令,将所述数据传输指令修改为数据中转传输指令并发送给Hive服务端,其中,数据中转传输指令包括分布式文件系统下的中转存储路径,所述中转存储路径用于在所述远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据;所述Hive服务端用于对所述数据中转传输指令进行解析编译,生成数据传输执行计划并发送给Yarn集群;所述远程客户端和所述Yarn集群用于基于所述中转存储路径以及所述数据传输执行计划,协同执行数据传输操作,以完成所述待传输数据在所述远程客户端与Hive表之间的传输,上述通过利用远程客户端修改数据传输指令为数据中转传输指令,在远程客户端与Hive表进行数据传输的过程中,临时存储待传输数据,使用户仅触发一次数据传输指令,即可实现远程客户端与Hive表之间的数据传输,降低了用户的操作成本,提升了用户的操作效率,有效地解决了日常开发工作中复杂冗余操作的问题,提升了开发效率,具有良好的实际应用效果,同时,也保障了服务端的安全,提高了服务端的稳定性,避免了将Hive服务端本地数据删除或者覆盖的情况。

在上述各技术方案的基础上,进一步的,所述远程客户端410具体还用于将所述数据传输指令中的客户端路径修改为所述中转存储路径。

在上述各技术方案的基础上,进一步的,所述数据传输指令包括数据上传指令或数据下载指令,其中,所述数据上传指令为用于将所述待传输数据从远程客户端上传到Hive表的指令,所述数据下载指令为用于将所述待传输数据从所述Hive表下载到所述远程客户端的指令。

在上述各技术方案的基础上,进一步的,若所述数据传输指令为数据上传指令,所述数据传输执行计划为数据上传执行计划,所述待传输数据为待上传数据,所述中转存储路径为第一中转存储路径,则所述远程客户端410具体用于响应于所述数据上传指令,在分布式文件系统430中创建所述第一中转存储路径,并将待上传数据上传到所述第一中转存储路径下;

所述Yarn集群440具体用于根据所述数据上传执行计划,在所述第一中转存储路径中提取所述待上传数据,将所述待上传数据写入第一Hive表路径下。

在上述各技术方案的基础上,进一步的,若所述数据传输指令为数据下载指令,所述数据传输执行计划为数据下载执行计划,所述待传输数据为待下载数据,所述中转存储路径为第二中转存储路径,则所述远程客户端410具体用于响应于所述数据下载指令,在分布式文件系统430中创建所述第二中转存储路径;

所述Yarn集群440具体用于根据所述数据下载执行计划,将第二Hive表路径中的所述待下载数据存储到所述第二中转存储路径下;

所述远程客户端410用于在监测到所述待下载数据存储到所述第二中转存储路径下之后,下载所述待下载数据。

在上述各技术方案的基础上,进一步的,在将所述数据传输指令修改为数据中转传输指令之前,所述远程客户端410还用于:

对所述数据传输指令进行验证;

若所述数据传输指令为所述远程客户端410与Hive表之间进行数据传输的指令,则将所述数据传输指令修改为所述数据中转传输指令;

否则,保持所述数据传输指令不变。

在上述各技术方案的基础上,进一步的,所述中转存储路径中用于存储所述待传输数据的文件夹名称为随机拼接的字符串。

在上述各技术方案的基础上,进一步的,在完成所述待传输数据在所述远程客户端与Hive表之间的传输之后,所述分布式文件系统430还用于:

将所述中转存储路径以及所述中转存储路径下的所述待传输数据删除。

本公开实施例所提供的远程客户端和Hive表之间的数据传输系统可执行本公开实施例所提供的远程客户端和Hive表之间的数据传输方法,具备执行方法相应的功能模块和有益效果。

基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的远程客户端和Hive表之间的数据传输方法。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述实施例的计算机可读存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的远程客户端和Hive表之间的数据传输方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 远程检测客户端环境异常的方法、测试服务器及存储介质
  • 网络参数训练方法和系统、服务器、客户端及存储介质
  • Redis代理客户端的实现方法、系统、存储介质及电子设备
  • 工程支持系统、工程支持方法、客户端装置和存储介质
  • 数据传输方法、系统、装置和存储介质
  • Hive客户端、Hive服务器、Hive执行日志远程监控系统和方法
  • Hive表一致性校验方法、系统、设备及存储介质
技术分类

06120116490893