[发明专利]支持HIVE自动分区的加载系统及其实现方法有效
| 申请号: | 201910119268.X | 申请日: | 2019-02-18 |
| 公开(公告)号: | CN109902126B | 公开(公告)日: | 2021-12-07 |
| 发明(设计)人: | 刘欣然;张鸿;马秉楠;吕雁飞;惠榛;孟宪文 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455 |
| 代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 李勤媛 |
| 地址: | 100029*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 支持 hive 自动 分区 加载 系统 及其 实现 方法 | ||
1.一种支持HIVE自动分区的加载系统,其特征在于,包括:
数据源模块,用于接收数据,对数据进行预备分类,按照数据的来源和数据头上所携带的配置信息进行预处理,得到数据所需要写入的对应的HIVE表,将映射关系放入到数据头中,并将数据放入到数据通道;
数据通道,用于作为所述数据源模块和输出接口模块之间的数据通道;
输出接口模块,用于从数据通道中获取数据,对数据反序列化,进行进一步的校验,依据加载系统在HIVE中所获取的分区设置计算出分区,将与数据所对应的数据库名和表名一起作为数据写入hdfs中的key值,依据该key值,从文件写入管理模块中获取对应的文件句柄,将数据写入至hdfs;分区计算的类型具体包括:等值分区、hash分区、时间间隔分区;
所述系统进一步包括:
创建模块,用于创建HIVE表,在建表语句中指定hive表所需要的分区类型,需要计算的原字段,并将上述信息设置在HIVE表的tblproperties中,将schema注册在schemaregistry服务中,其中,schema是数据加载过程中数据的描述标准,将数据的结构和类型信息描述为schema,在加载系统从kafka获取到数据后,获取到对应的schema,依此对数据进行反序列化处理,得到所需要的数据。
2.如权利要求1所述的系统,其特征在于,所述数据源模块具体用于:通过从kafka中拉取数据或者http server服务接受数据的方式进行数据的接收。
3.如权利要求1所述的系统,其特征在于,所述创建模块具体用于:
在创建HIVE表时,通过partitioned by设定表的分区字段,在tblproperties中指定计算出该分区字段所需要的原始数据列、分区的类型、方法,其中,所述表属性中还配置有多个分区方法以支持HIVE的多级分区。
4.如权利要求3所述的系统,其特征在于,所述数据源模块具体用于:
加载系统在启动后,在初始化过程中与HIVEmetastore交互获取到对应HIVE表的相应元数据,然后提取加载系统写入数据所需要的各种参数配置和表属性,其中包括HIVE表的分区相关信息;在系统的元数据管理模块中将HIVE表与分区的映射关系进行缓存。
5.如权利要求4所述的系统,其特征在于,所述输出接口模块具体用于:
在数据由数据源模块经过数据通道进入输出接口模块后,判断HIVE表是否有需要计算的分区,如果需要则按照对应的方法对HIVE表所有的分区依次进行计算,直至得到最终的分区结果;并通过与HIVEmetastore的交互判断此分区是否已经在HIVE表中存在,如果不存在则需要在HIVE表中添加此分区,并以此分区作为分类依据,将数据放入到不同的缓存区中;最终依次将缓存中的数据写入到HIVE分区对应的不同的hdfs路径中,完成数据的写入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心,未经国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910119268.X/1.html,转载请声明来源钻瓜专利网。





