【发布时间】:2016-04-22 21:26:48
【问题描述】:
我是 BigData 的新手,我不知道发生了什么!请注意,这是我自己学习的。
我使用以下命令从名为 sqoopex8 的数据库中从 MySQL 导入了一个名为 sqooptest 的表:
sqoop import \
--connect jdbc:mysql://localhost/sqoopex8 \
--table sqooptest \
-m 1
我不知道它去哪里(或进口)。
抛出了一堆错误,老实说,我什至不知道要在错误中查找什么。如果是最后一行,则显示“16/04/23 01:46:52 ERROR tool.ImportTool: Error during import: Import job failed!”再次,我处于学习阶段,我正在自己学习,所以请多多包涵!
现在,我在/user/hduser/ 下查看,有一个以表名命名的文件夹 (sqooptest)。不过里面什么都没有。
接下来,凭直觉,在 Internet 上环顾四周,我发现 MySQL 将其所有 dbs 都保存在 /var/lib/mysql 中。显然,我无法访问它,所以我必须从终端(CLI)访问它。当我这样做时,我在那里找到了我所有的数据库。现在,我这样做了:
sqoop import \
--connect jdbc:mysql://localhost/sqoopex8 \
--table sqooptest \
--target-dir /var/lib/mysql \
-m 1
(已添加--target-dir /var/lib/mysql)
这出于某种原因。当我执行hadoop fs -ls /var/lib/mysql 时,我看到两个文件-_SUCCESS 和part-m-00000。这是为什么?为什么第一次没有成功。
另外,在第一次尝试中,即使我将目标指定为 HDFS --target-dir /user/hduser,由于某种原因它也没有接受它。当我将目标作为本地文件系统时,它会接受它。为什么?
【问题讨论】: