我正在尝试使用sqoop将数据从测试mysql数据库导入hadoop。但是在某些表中,主表和某些表没有主键。
$sqoop import-all-tables --connect jdbc:mysql://192.168.0.101/mysql -username test -P --warehouse-dir /home/user_all_tables
17/08/01 22:46:54错误tool.ImportAllTablesTool:导入时出错: 没有为表general_log找到主键。请明确说明 一个用--split-by或用' -m 1'执行顺序导入。
请建议我如何在sqoop命令行中使用split by。
答案 0 :(得分:0)
要使import-all-tables
工具有用,必须满足以下条件:
默认选项不适合非主键表,因此无效。在这里,我将建议使用-m 1
选项仅使用一个映射器来严格导入。
Sqoop命令:
import-all-tables --connect jdbc:mysql://192.168.0.101/mysql -username test \
-P --warehouse-dir /home/user_all_tables -m 1