System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种将Hive数据load到本地文件系统的优化方法技术方案_技高网

一种将Hive数据load到本地文件系统的优化方法技术方案

技术编号:41259911 阅读:17 留言:0更新日期:2024-05-11 09:18
本发明专利技术涉及数据处理领域,尤其涉及一种将Hive数据load到本地文件系统的优化方法,本发明专利技术包括,步骤S1,针对每个MapReduce任务,通过Hive从数据源复制输入文件到执行单元中;步骤S2,将MapReduce任务运行并生成输出文件;步骤S3,通过Hive将各所述输出文件合并;步骤S4,将所得合并文件写入HDFS文件系统的临时目录中;步骤S5,将结果文件加载到本地文件系统的目标目录中并删除所述临时目录,通过Hive加载数据到本地文件系统的过程中优化在HDFS相同路径创建目录,从而避免出现没有对应的HDFS文件系统权限的问题。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,尤其涉及一种将hive数据load到本地文件系统的优化方法。


技术介绍

1、hive是一个基于hadoop的数据仓库工具,它提供了一个类似于sql的查询语言(称为hiveql),使用户能够在hadoop集群上进行数据查询和分析,

2、hadoop是apache组织管理的一个开源项目,是基于google云计算理论big table、mapreduce和gfs的软件实现。hadoop可以使用户在不了解底层细节的情况下开发mapreduce程序,并在价格低廉的商用集群上进行运算和存储,具有可扩展、高容错、经济、可靠、高效等优点。hadoop的核心组件有两个部分:分布式文件系统(hdfs)和分布式计算模型mapreduce。hdfs是hadoop的旗舰级文件系统,它以流式数据访问模式来存储超大文件,运行于商用硬件集群上;mapreduce是一个编程模型,用以进行稳定、高效、超大数据量的分析计算

3、例如,专利公开号:cn103425762a,公开了一种基于hadoop平台的电信运营商海量数据处理方法,包括以下步骤:首先使用sqoop工具将原始数据系统数据抽取到hadoop本地服务器上;然后在hive中建表并根据运营商数据仓库的数据模型和业务需求编写hive脚本;接着执行hive脚本将源数据转换后装载到hive的目标表中;最后根据需求编写hive查询语句或者mapreduce程序对目标表中的数据进行查询分析。本方法在满足业务需求的基础上充分利用hadoop平台中的各种工具实现电信运营商海量数据处理,极大的提高了工作效率;

4、但是,现有技术中还存在以下问题

5、在一个大数据应用平台中,会对不同租户的权限做相应的限制,例如某个test用户只能访问hive某些database的数据。当该test用户想要将某张hive中的表的数据导出到本地文件系统,并将导出的数据做其它一些处理时,进而可能出现对应的hdfs文件系统权限的问题。


技术实现思路

1、为此,本专利技术提供一种将hive数据load到本地文件系统的优化方法,用以克服现有技术中test用户想要将某张hive中的表的数据导出到本地文件系统可能会出现hdfs文件系统权限限制的问题。

2、为实现上述目的,本专利技术提供一种将hive数据load到本地文件系统的优化方法,包括:

3、步骤s1,针对每个mapreduce任务,通过hive从数据源复制输入文件到执行单元中;

4、步骤s2,将mapreduce任务运行并生成输出文件;

5、步骤s3,通过hive将各所述输出文件合并;

6、步骤s4,将所得合并文件写入hdfs文件系统的临时目录中;

7、步骤s5,将结果文件加载到本地文件系统的目标目录中并删除所述临时目录。

8、进一步地,所述步骤s1中,执行单元包括用以执行任务的节点所在本地文件系统。

9、进一步地,所述步骤s2中,所述mapreduce任务的输出结果被写入到一个或多个输出文件中。

10、进一步地,所述步骤s2中,所述mapreduce任务能输出中间结果。

11、进一步地,所述步骤s2中,还需将中间结果合并和排序。

12、进一步地,所述步骤s2中,通过reduce函数进行归约和计算最终生成输出结果。

13、进一步地,所述步骤s3中,

14、使用hive的insert语句将输出文件加载到表中,然后使用hive的select语句将数据从表中读取出来,得到合并文件。

15、进一步地,所述步骤s4中,还需跳过权限检查。

16、进一步地,所述步骤s4中,若用户需导出数据至本地/home目录,则hdfs文件系统上创建的目录为/tmp/home目录,并跳过/tmp目录下所有子目录的权限检查。

17、进一步地,所述步骤s5中,目标目录为预先设定且可替换。

18、包括与现有技术相比,本专利技术包括,步骤s1,针对每个mapreduce任务,通过hive从数据源复制输入文件到执行单元中;步骤s2,将mapreduce任务运行并生成输出文件;步骤s3,通过hive将各所述输出文件合并;步骤s4,将所得合并文件写入hdfs文件系统的临时目录中;步骤s5,将结果文件加载到本地文件系统的目标目录中并删除所述临时目录,通过hive加载数据到本地文件系统的过程中优化在hdfs相同路径创建目录,从而避免出现没有对应的hdfs文件系统权限的问题。

本文档来自技高网...

【技术保护点】

1.一种将Hive数据load到本地文件系统的优化方法,其特征在于,包括:

2.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S1中,执行单元包括用以执行任务的节点所在本地文件系统。

3.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于所述步骤S2中,所述MapReduce任务的输出结果被写入到一个或多个输出文件中。

4.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S2中,所述MapReduce任务能输出中间结果。

5.根据权利要求4所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S2中,还需将中间结果合并和排序。

6.根据权利要求5所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S2中,通过Reduce函数进行归约和计算最终生成输出结果。

7.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S3中,p>

8.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S4中,还需跳过权限检查。

9.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S4中,若用户需导出数据至本地/home目录,则HDFS文件系统上创建的目录为/tmp/home目录,并跳过/tmp目录下所有子目录的权限检查。

10.根据权利要求1所述的将Hive数据load到本地文件系统的优化方法,其特征在于,所述步骤S5中,目标目录为预先设定且可替换。

...

【技术特征摘要】

1.一种将hive数据load到本地文件系统的优化方法,其特征在于,包括:

2.根据权利要求1所述的将hive数据load到本地文件系统的优化方法,其特征在于,所述步骤s1中,执行单元包括用以执行任务的节点所在本地文件系统。

3.根据权利要求1所述的将hive数据load到本地文件系统的优化方法,其特征在于所述步骤s2中,所述mapreduce任务的输出结果被写入到一个或多个输出文件中。

4.根据权利要求1所述的将hive数据load到本地文件系统的优化方法,其特征在于,所述步骤s2中,所述mapreduce任务能输出中间结果。

5.根据权利要求4所述的将hive数据load到本地文件系统的优化方法,其特征在于,所述步骤s2中,还需将中间结果合并和排序。

6.根据权利要求5所述的将hive...

【专利技术属性】
技术研发人员:高海玲高经郡吕彦奎
申请(专利权)人:北京科杰科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1