Я использую версии 1.2.1 и sqoop 1.4.4.
Я новичок в hadoop/sqoop, и у меня возникла проблема. У меня есть данные в hdfs, которые я хочу экспортировать в MySQL, но экспорт не удается. Я использовал следующее утверждение:
sqoop export --connect jdbc:mysql://{ip-адрес}/{база данных} --username имя пользователя -P --table {tablename} --export-dir {export-dir} --input-fields-terminated-by ',' --строки-оканчиваются символом '\n' --verbose
Ошибка, которую я получаю:
14/02/28 10:12:40 INFO mapred.JobClient: Running job: job_201402040959_0234
14/02/28 10:12:41 INFO mapred.JobClient: map 0% reduce 0%
14/02/28 10:12:51 INFO mapred.JobClient: map 50% reduce 0%
14/02/28 10:22:51 INFO mapred.JobClient: map 0% reduce 0%
14/02/28 10:22:52 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000000_0, Status : FAILED
Task attempt_201402040959_0234_m_000000_0 failed to report status for 600 seconds. Killing!
14/02/28 10:22:52 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000001_0, Status : FAILED
Task attempt_201402040959_0234_m_000001_0 failed to report status for 600 seconds. Killing!
14/02/28 10:23:00 INFO mapred.JobClient: map 50% reduce 0%
14/02/28 10:33:00 INFO mapred.JobClient: map 0% reduce 0%
14/02/28 10:33:00 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000000_1, Status : FAILED
Task attempt_201402040959_0234_m_000000_1 failed to report status for 600 seconds. Killing!
14/02/28 10:33:00 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000001_1, Status : FAILED
Task attempt_201402040959_0234_m_000001_1 failed to report status for 600 seconds. Killing!
14/02/28 10:33:09 INFO mapred.JobClient: map 50% reduce 0%
14/02/28 10:43:09 INFO mapred.JobClient: map 0% reduce 0%
14/02/28 10:43:09 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000000_2, Status : FAILED
Task attempt_201402040959_0234_m_000000_2 failed to report status for 600 seconds. Killing!
14/02/28 10:43:10 INFO mapred.JobClient: Task Id : attempt_201402040959_0234_m_000001_2, Status : FAILED
Task attempt_201402040959_0234_m_000001_2 failed to report status for 600 seconds. Killing!
14/02/28 10:43:18 INFO mapred.JobClient: map 50% reduce 0%
14/02/28 10:53:18 INFO mapred.JobClient: map 25% reduce 0%
14/02/28 10:53:19 INFO mapred.JobClient: map 0% reduce 0%
14/02/28 10:53:20 INFO mapred.JobClient: Job complete: job_201402040959_0234
14/02/28 10:53:20 INFO mapred.JobClient: Counters: 7
14/02/28 10:53:20 INFO mapred.JobClient: Job Counters
14/02/28 10:53:20 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=11987
14/02/28 10:53:20 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
14/02/28 10:53:20 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
14/02/28 10:53:20 INFO mapred.JobClient: Launched map tasks=8
14/02/28 10:53:20 INFO mapred.JobClient: Data-local map tasks=8
14/02/28 10:53:20 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=0
14/02/28 10:53:20 INFO mapred.JobClient: Failed map tasks=1
14/02/28 10:53:20 INFO mapreduce.ExportJobBase: Transferred 0 bytes in 2,441.242 seconds (0 bytes/sec)
14/02/28 10:53:20 INFO mapreduce.ExportJobBase: Exported 0 records.
14/02/28 10:53:20 ERROR tool.ExportTool: Error during export: Export job failed!
Пример данных:
201110,1.8181818181818181
201111,1.4597701149425288
201112,1.766990291262136
20119,1.6153846153846154
20121,1.5857142857142856
201210,1.55
201211,1.5294117647058822
201212,1.6528925619834711
20122,1.5789473684210527
20123,1.4848484848484849
20124,1.654320987654321
20125,1.5942028985507246
20126,1.5333333333333334
20127,1.4736842105263157
20128,1.4666666666666666
20129,1.4794520547945205
20131,1.6875
201310,8.233183856502242
201311,8.524886877828054
201312,9.333333333333334
20132,1.7272727272727273
20133,3.42
20134,6.380597014925373
20135,9.504716981132075
20136,8.538812785388128
20137,8.609649122807017
20138,8.777272727272727
20139,8.506787330316742
20141,4.741784037558685
Я попытался экспортировать аналогичный набор данных с идентичным оператором экспорта только с целыми числами, а не с удвоением, и это удалось. Я также пробовал аналогичный набор данных с числами с плавающей запятой вместо двойников, но это также не удается. Кто-нибудь, пожалуйста, дайте мне подсказку, почему это не работает? Я делаю что-то не так с типами данных, которые не подходят для MySQL?
Я также попытался выполнить тот же запрос со следующим дополнением:
-m 1
Это дает ту же ошибку, что и выше, за исключением того, что шаг карты завершается на 100%, а не только на 50%.
-Спасибо, пожалуйста, дайте мне знать, если я должен был предоставить дополнительную информацию.