【技术实现步骤摘要】
基于Hive实现MongoDB的联表查询的方法及系统
[0001]本专利技术涉及数据处理
,具体的,本专利技术涉及基于Hive实现MongoDB的联表查询的方法及系统。
技术介绍
[0002]在数据量巨大化的背景下,MongoDB凭借其低消耗、高性能、存储维护便捷的优点已经成为了数据存储的一种主流方式。面对数据的多样化,用户可以选择将所有的字段信息存放在同一张表中,但是这样会导致单表过大,查询效率降低。将不同的数据存放在不同的表中,便于数据的管理,但是这样也会面临一个问题,如果要查询多张表的数据,需要用到联表查询,现有技术中只支持$lookup查询,这种关联查询会把符合条件的inventory文档整体内嵌到聚合框架新生成的文档中,并且新key统一命名为inventory_docs,如果原表中存在key值为空值或者是不存在时,就会导致本次查询失败。特别是当需要对数据做跨库联表查询时,MongoDB无法满足此需求,也正是因此,在用户需要关联查询的时候,往往会查询出一个字段值,然后再拿结果当作查询条件去进行反查以得到目标字段 ...
【技术保护点】
【技术特征摘要】
1.基于Hive实现MongoDB的联表查询的方法,其特征在于:包括以下的步骤:S1、目标字段的导出,通过mongoexport命令将MongoDB多张表中的不同的目标字段以Json格式导出;S2、HDFS中数据的导入,通过Sqoop将Json格式的数据导入到HDFS;S3、Hive表中数据的插入,HDFS对数据进行格式校验及转换后,将数据插入到Hive表;S4、在Hive表上对数据进行联表查询。2.如权利要求1所述的基于Hive实现MongoDB的联表查询的方法,其特征在于:所述S1中的目标字段为不同表、不同库或不同服务器上的不同数据库的目标字段。3.如权利要求1所述的基于Hive实现MongoDB的联表查询的方法,其特征在于:所述S2包括以下的步骤:S21、Sqoop将Json数据转换成Json文档;S22、将数据导入到HDFS。4.如权利要求1所述的基于Hive实现MongoDB的联表查询的方法,其特征在于:所述S3包括以下的步骤:S31、通过Hive自身的数据加载命令,将HDFS上的Json文档数据导入到Json格式的Hive表格中,每个字段存储的是Json数据;S32、利用Hive的类SQL和正则表达式,将Json格式的Hive表格中的数据读取转换成oracle格式Hive表所需要的数据;S33、将数据插入到oracle格式的Hive表。5.基于Hive实现MongoDB的联表查询的系统,其特征在于:包括数据导出单元、数据导入单元、数据插入单元和联表查询单元,其中,所述数据导出单元,用于通过mongoexport命令将MongoDB多张表中的不同的目标字段以Json格式导出;所述数据导入单元,与所述数据导出单元连接,用于接收数据导出单元导出的Jso...
【专利技术属性】
技术研发人员:谢小威,
申请(专利权)人:银盛支付服务股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。