将数据从Hive加载到mongo子文档

时间:2014-09-30 16:10:49

标签: mongodb hadoop hive

我有一个hive表,我想加载到mongo中。 我添加了必要的hadoop-mongo罐子,我创建了我的mongo表,如下所示:

CREATE TABLE mongo_tab
( subscribers STRUCT
<
persons_data: STRUCT
<last_name: string, 
first_name: string >                              
contracts_persons:STRUCT
<product_infos: STRUCT <product_id: INT, product_name: STRING>,
captial: STRUCT <capital1: string, capital2: string >
>,
employees: STRUCT 
< n_emp: INT, 
nom_emp: string>
>
)
STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
WITH SERDEPROPERTIES      ('mongo.columns.mapping'='{"last_name":"last_name", "first_name":"first_name","product_id":"product_id, "product_name": "product_name", "capital1":"capital1", "capital2": "capital2", "n_emp":"n_emp", "nom_emp":"nom_emp"},
}')

TBLPROPERTIES(&#39; mongo.uri&#39; = my_mongo_server_uri&#39)

当我将存储在hive表中的数据插入到我的mongo表中时,我收到此错误: &#34;无法插入目标表,因为列号/类型不同&#34;。

我的问题是:

  • 是否可以使用mongo架构中的子文档将数据从配置单元表加载到mongo?或者它必须是一个平面文件?

  • 如果我想避免在mongo中使用平面文档结构,我如何移动数据?

提前感谢您的回答。

0 个答案:

没有答案