我的RDBMS中有表。现在我选择该表的第3列作为我的HIVE表的分区列。
现在我如何轻松地将我的RDBMS表数据导入HIVE表(考虑分区列)?
答案 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> \