【技术实现步骤摘要】
支持HIVE自动分区的加载系统及其实现方法
本专利技术涉及大数据处理
,尤其涉及一种支持HIVE自动分区的加载系统及其实现方法。
技术介绍
随着计算机技术的不断发展和信息化程度的不断提高,互联网快速发展,网络信息呈指数级增长,面向海量数据存储及应用也随之蓬勃发展。在大数据处理领域中,ApacheHive作为建立在Hadoop上的开源数据仓库框架有着较为广泛的使用。hive提供类SQL语言HQL,可以方便的读取、写入和管理Hadoop中的海量数据集,越来越多的数据存储系统以hive作为数据元数据管理仓库和数据处理分析工具。随着使用的深入,单纯依靠hive的一些原生功能,逐渐不再能满足对于大量数据快速便捷的需求。
技术实现思路
本专利技术实施例提供一种支持HIVE自动分区的加载系统及其实现方法,用以解决现有技术中的上述问题。本专利技术实施例提供一种支持HIVE自动分区的加载系统,包括:数据源模块,用于接收数据,对数据进行预备分类,按照数据的来源和数据头上所携带的配置信息进行预处理,得到数据所需要写入的对应的HIVE表,将映射关系放入到数据头中,并将数据放入到数据通道;数据通道,用于作为所述数据源模块和所述输出接口模块之间的数据通道;输出接口模块,用于从数据通道中获取数据,对数据反序列化,进行进一步的校验,依据加载系统在HIVE中所获取的分区设置计算出分区,将与数据所对应的数据库名和表名一起作为数据写入hdfs中的key值,依据该key值,从文件写入管理模块中获取对应的文件句柄,将数据写入至hdfs或者其他存储介质中。优选地,分区计算的类型具体包括:等值分区、 ...
【技术保护点】
1.一种支持HIVE自动分区的加载系统,其特征在于,包括:数据源模块,用于接收数据,对数据进行预备分类,按照数据的来源和数据头上所携带的配置信息进行预处理,得到数据所需要写入的对应的HIVE表,将映射关系放入到数据头中,并将数据放入到数据通道;数据通道,用于作为所述数据源模块和所述输出接口模块之间的数据通道;输出接口模块,用于从数据通道中获取数据,对数据反序列化,进行进一步的校验,依据加载系统在HIVE中所获取的分区设置计算出分区,将与数据所对应的数据库名和表名一起作为数据写入hdfs中的key值,依据该key值,从文件写入管理模块中获取对应的文件句柄,将数据写入至hdfs或者其他存储介质中。
【技术特征摘要】
1.一种支持HIVE自动分区的加载系统,其特征在于,包括:数据源模块,用于接收数据,对数据进行预备分类,按照数据的来源和数据头上所携带的配置信息进行预处理,得到数据所需要写入的对应的HIVE表,将映射关系放入到数据头中,并将数据放入到数据通道;数据通道,用于作为所述数据源模块和所述输出接口模块之间的数据通道;输出接口模块,用于从数据通道中获取数据,对数据反序列化,进行进一步的校验,依据加载系统在HIVE中所获取的分区设置计算出分区,将与数据所对应的数据库名和表名一起作为数据写入hdfs中的key值,依据该key值,从文件写入管理模块中获取对应的文件句柄,将数据写入至hdfs或者其他存储介质中。2.如权利要求1所述的系统,其特征在于,分区计算的类型具体包括:等值分区、hash分区、时间间隔分区、以及转换时间分区。3.如权利要求1所述的系统,其特征在于,所述数据源模块具体用于:通过从kafka中拉取数据或者httpserver服务接受数据的方式进行数据的接收。4.如权利要求1所述的系统,其特征在于,所述系统进一步包括:创建模块,用于创建HIVE表,在建表语句中指定hive表所需要的分区类型,需要计算的原字段,并将上述信息设置在HIVE表的tblpropertie中,将schema注册在shcemaregistry服务中,其中,shcema是数据加载过程中数据的描述标准,需要数据的结构和类型信息描述为schema,在加载系统从kafka或者其他方式中获取到数据后,获取到对应的schema,依此对数据进行反序列化处理,得到所需要的数据。5.如权利要求4所述的系统,其特征在于,所述创建模块具体用于:在创建HIVE表的时,通过partitionedby设定表的分区字段,在tblproperties中通过’_partition.a’=’function(b,paramer)’属性指定计算出该分区字段所需要的原始数据列,分区的类型、方法,其中,所述表属性中还配置有多个分区方法以支持HIVE的多级分区。6.如权利要求5所述的系统,其特征在于,所述数据源模块具体用于:加载系统在启动后,在初始化过程中与HIVEmetastore交互获取到对应HIVE表的相应元数据,然后提取加载系统写入数据所需要的各种参数配置和表属性,其中包括HIVE表的分区相关信息;在系统的元数据管理模块中将HIVE表与分区的映射关系进行缓存。7.如权利要求6所述的系统,其特征在于,所述输出接口模块具体用于:在数据流由数据源模块经过数据通道进入输出接口模块后,判断HIVE表是否需要计算的分区,如果需要则按照对应的方法对HIVE表所有的分区依次进行计算,直至得到最终的分区结果;并通过与HIVEmetastor...
【专利技术属性】
技术研发人员:刘欣然,张鸿,马秉楠,吕雁飞,惠榛,孟宪文,
申请(专利权)人:国家计算机网络与信息安全管理中心,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。