Sqoop - 将所有表从mysql导入到hive

时间:2014-03-15 09:10:08

标签: mysql hadoop hive sqoop hiveql

我的mysql db中有三个表:

带有两个联接表的

parent_tablefoobar,其中parent_table有许多foobar'和{ {1}},foo属于bar

如何使用sqoop或其他方法将这些表导入到要查询的配置单元中。

2 个答案:

答案 0 :(得分:1)

以下是示例:

sqoop import-all-tables \
  --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
  --username=retail_dba \
  --password=cloudera \
  --warehouse-dir=/user/hive/warehouse/retail_stage.db

在--connect子句中的retail_db是mysql数据库 --username子句中的retail_dba是有权访问retail_db mysql数据库下的读表的mysql用户 cloudera in --password子句是mysql用户retail_dba的密码 /ware/hive/warehouse/retail_stage.db在--warehouse-dir中是hadoop目录(在这种情况下,它是hive数据库,可以有任何有效的hadoop目录)。 上面的脚本将为/user/hive/warehouse/retail_stage.db下的每个mysql表创建目录。

您可以按照Cloudera Quickstart VM中的原样运行此脚本。

答案 1 :(得分:0)

您可以先了解一下Sqoop User Guide,其中介绍了如何使用Sqoop或更多面向用例的书Apache Sqoop Cookbook。两个来源都应该能够帮助您了解这种情况需要做些什么。