如何将RDBMS数据轻松导入HIVE分区表

时间:2015-03-12 17:48:23

标签: hive sqoop

我的RDBMS中有表。现在我选择该表的第3列作为我的HIVE表的分区列。

现在我如何轻松地将我的RDBMS表数据导入HIVE表(考虑分区列)?

3 个答案:

答案 0 :(得分:2)

它仅适用于静态分区。 请参阅下面的sqoop脚本以获取更多详细信息:

sqoop import 
--connect "jdbc:mysql://quickstart.cloudera:3306/prac" 
--username root 
--password cloudera 
--hive-import 
--query "select id,name,ts from student where city='Mumbai' and \$CONDITIONS" 
--hive-table prac.student 
--hive-partition-key city 
--hive-partition-value 'Mumbai'
--target-dir /user/mangesh/sqoop_import/student_temp5 
--split-by id 

答案 1 :(得分:0)

使用sqoop可以实现将rdbms导入hive。

以下是导入分区表的相关信息:

http://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html#_importing_data_into_hive

  

您可以通过指定--hive-partition-key来告诉Sqoop作业将Hive的数据导入特定分区   --hive-partition-value参数。分区值必须是字符串。有关详细信息,请参阅Hive文档   分区。

答案 2 :(得分:0)

对于动态分区,您可以使用

sqoop import \  
--connect "jdbc:mysql://quickstart.cloudera:3306/prac" \  
--username root \  
--password cloudera \  
--table <mysql -tablename> \  
--hcatalog-database <hive-databasename> \  
--hcatalog-table <hive-table name> \