[发明专利]一种基于Hive支持多字符作为分隔符的方法有效
申请号: | 201710708052.8 | 申请日: | 2017-08-17 |
公开(公告)号: | CN107622088B | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 尚平平 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张亮 |
地址: | 250000 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hive 支持 多字 作为 分隔 方法 | ||
本发明提供一种基于Hive支持多字符作为分隔符的方法,创建用户自定义分隔符模块,基于用户自定义分隔符模块创建用户自定义分隔符;获取用户自定义的分隔符;根据用户自定义的分隔符对数据进行分割,并将具有用户自定义分隔符的数据进行存储,使得数据仓库支持多字符作为分隔符,对Hive进行改进,支持多字符作为分隔符。
技术领域
本发明涉及数据库领域,尤其涉及一种基于Hive支持多字符作为分隔符的方法。
背景技术
Apache Hive是建立在Hadoop之上的数据仓库,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。由于SQL被广泛的应用在数据仓库中,因此,Hive专门针对自身特性设计了类SQL的查询语言。熟悉SQL开发的开发者可以很方便的使用Hive进行开发。但是Hive只支持单字符作为分隔符,而实际应用中会使用多个字符作为分隔符,这样造成使用Hive的局限性,给Hive的开发使用带来不便。
发明内容
为了克服上述现有技术中的不足,本发明提供一种基于Hive支持多字符作为分隔符的方法,方法包括:
创建用户自定义分隔符模块,基于用户自定义分隔符模块创建用户自定义分隔符;
获取用户自定义的分隔符;
根据用户自定义的分隔符对数据进行分割,并将具有用户自定义分隔符的数据进行存储。
优选地,步骤创建用户自定义分隔符模块还包括:
基于继承抽象模块的扩展,创建Hive中的MultiCharDelimitedSerde类,使得用户在创建用户自定义分隔符模块时,设置为MultiCharDelimitedSerde类,支持多字符作为分隔符。
优选地,步骤用户在创建用户自定义分隔符模块时,设置为MultiCharDelimitedSerde类还包括:
将用户创建的用户自定义分隔符模块设置为序列化和反序列化。
优选地,步骤根据用户自定义的分隔符对数据进行分割还包括:
获取待分隔的数据信息,按照第一预设数据划分格式对待分隔的数据信息进行分割,分割成若干个第一分割数据部,在第一分割数据部与第一分割数据部之间设置用户自定义分隔符模块创建的第一自定义分隔符;
按照第二预设数据划分格式对第一分割数据部进行分割,分割成若干个第二分割数据部,在第二分割数据部与第二分割数据部之间设置用户自定义分隔符模块创建的第二自定义分隔符;
按照第三预设数据划分格式对第二分割数据部进行分割,分割成若干个第三分割数据部,在第三分割数据部与第三分割数据部之间设置用户自定义分隔符模块创建的第三自定义分隔符。
优选地,第一预设数据划分格式的分隔区间大于第二预设数据划分格式,第二预设数据划分格式分隔区间大于第三预设数据划分格式;
分隔区间采用位为单位区间,或字节为单位区间,或KB为单位区间,或B为单位区间,或为MB为单位区间。
优选地,步骤用户自定义分隔符模块创建用户自定义分隔符还包括:
设置用户自定义分隔符的序列化及反序列化规则;
基于序列化及反序列化规则对用户自定义分隔符进行序列化及反序列化处理;
创建用户自定义分隔符的序列化及反序列化对应表;
将设置的用户自定义分隔符序列化及反序列化规则,用户自定义分隔符的序列化及反序列化对应表存储到对象列表中,供数据处理使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710708052.8/2.html,转载请声明来源钻瓜专利网。