重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站是一家集网站建设,新巴尔虎右企业网站建设,新巴尔虎右品牌网站建设,网站定制,新巴尔虎右网站建设报价,网络营销,网络优化,新巴尔虎右网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。这篇文章将为大家详细讲解有关hive支持mongodb具体的连接方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
hive支持mongodb,具体的连接方法如下:
创建基于MongoDB的Hive表是通过MongoStorageHandler来处理的。它同样处理从Hive表里查询与插入数据(通过select与insert)。
CREATE [EXTERNAL] TABLE( ) STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler' [WITH SERDEPROPERTIES('mongo.columns.mapping'=' ')] TBLPROPERTIES('mongo.uri'=' ');
有两种方式来指定所需连接的Mongo Collection。
1. 在上述示例里面,通过mongo.uri这个表属性来指定,属性的值填入的是MongoDB connection string,通过它来指向具体的collection。这种方式会将这个URI存入表的metadata里面,如果需要填写连接的一些认证信息(如username:password等),该方式不太适合。
2. 第二种方式是把connection string填入一个properties文件,如:
# HiveTable.properties mongo.input.uri=mongodb://...
然后提供这个文件的路径给mongo.properties.path这个表参数,如
CREATE TABLE ... TBLPROPERTIES('mongo.properties.path'='HiveTable.properties')
备注:在创建相应Hive表时所引用的MongoDB collection不一定要空的。
在创建Hive表的时候,也可以选择性的指定MongoDB collection里的字段与Hive的列字段或struct字段的映射。指定的方式是在SERDEPROPERTIES里通过mongo.columns.mapping属性来指定。在创建基于BSON文件的Hive表时也可以用到。
如果创建的表是EXTERNAL的,那么在Hive里删除这张表时,不会影响MongoDB里面的数据,只会删除这张表的metadata。如果没有指定EXTERNAL,那么删除表的时候会连带MongoDB里的数据一并删除,因此最好是指定创建的表为EXTERNAL。
关于hive支持mongodb具体的连接方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。