我的mysql db中有三个表:
带有两个联接表的 parent_table
:foo
,bar
,其中parent_table
有许多foo
和bar
'和{ {1}},foo
属于bar
。
如何使用sqoop或其他方法将这些表导入到要查询的配置单元中。
答案 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。两个来源都应该能够帮助您了解这种情况需要做些什么。