Сбой Sqoop при экспорте в Oracle - PullRequest
0 голосов
/ 29 августа 2018

У меня есть таблица в Oracle и идентичная таблица в Hive (с соответствующими типами данных) Я пытаюсь экспортировать таблицу кустов в Oracle, используя скрипт:

sqoop export -D oraoop.disabled=true -Dmapred.job.queue.name=disco --connect jdbc:oracle:thin:@oracle:1521/tns  \
--username someuser  \
--password somepasswd \
--hcatalog-database hive_database  \
--hcatalog-table TABLE_ON_HIVE  \
--table TABLE_ON_ORACLE  \
--num-mappers 5

И я получаю ошибку:

18/08/29 08:23:10 INFO mapreduce.Job: Job job_1535519043541_1004 running in uber mode : false
18/08/29 08:23:10 INFO mapreduce.Job:  map 0% reduce 0%
18/08/29 08:23:28 INFO mapreduce.Job:  map 100% reduce 0%
18/08/29 08:28:40 INFO mapreduce.Job: Task Id : attempt_1535519043541_1004_m_000000_0, Status : FAILED
AttemptID:attempt_1535519043541_1004_m_000000_0 Timed out after 300 secs
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143

18/08/29 08:28:41 INFO mapreduce.Job:  map 0% reduce 0%
18/08/29 08:28:57 INFO mapreduce.Job:  map 100% reduce 0%
18/08/29 08:34:09 INFO mapreduce.Job: Task Id : attempt_1535519043541_1004_m_000000_1, Status : FAILED
AttemptID:attempt_1535519043541_1004_m_000000_1 Timed out after 300 secs
18/08/29 08:34:10 INFO mapreduce.Job:  map 0% reduce 0%
18/08/29 08:34:28 INFO mapreduce.Job:  map 100% reduce 0%
18/08/29 08:39:39 INFO mapreduce.Job: Task Id : attempt_1535519043541_1004_m_000000_2, Status : FAILED
AttemptID:attempt_1535519043541_1004_m_000000_2 Timed out after 300 secs
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143

18/08/29 08:39:40 INFO mapreduce.Job:  map 0% reduce 0%
18/08/29 08:39:56 INFO mapreduce.Job:  map 100% reduce 0%
18/08/29 08:45:11 INFO mapreduce.Job: Job job_1535519043541_1004 failed with state FAILED due to: Task failed task_1535519043541_1004_m_000000
Job failed as tasks failed. failedMaps:1 failedReduces:0

18/08/29 08:45:11 INFO mapreduce.Job: Counters: 9
        Job Counters
                Failed map tasks=4
                Launched map tasks=4
                Other local map tasks=3
                Rack-local map tasks=1
                Total time spent by all maps in occupied slots (ms)=1312647
                Total time spent by all reduces in occupied slots (ms)=0
                Total time spent by all map tasks (ms)=1312647
                Total vcore-seconds taken by all map tasks=1312647
                Total megabyte-seconds taken by all map tasks=5376602112
18/08/29 08:45:11 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead
18/08/29 08:45:11 INFO mapreduce.ExportJobBase: Transferred 0 bytes in 1,359.6067 seconds (0 bytes/sec)
18/08/29 08:45:11 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
18/08/29 08:45:11 INFO mapreduce.ExportJobBase: Exported 0 records.
18/08/29 08:45:11 ERROR tool.ExportTool: Error during export: Export job failed!

Итак, я получаю две попытки, и экспорт не выполняется без объяснения причин. Вы сталкивались с проблемой, как моя? Где я могу найти более подробные журналы?

Pawel

1 Ответ

0 голосов
/ 29 августа 2018

Пожалуйста, попробуйте с помощью следующей команды
sqoop export --connect \
-Dmapred.job.queue.name = disco \
--username sqoop \
--password sqoop \
--table emp \
--update-mode allowinsert \
--update-id ключа \
--export-dir table_location \
--input-fields-terminated-by 'delimiter'

Примечание: --update-mode - мы можем передать два аргумента «updateonly» - чтобы обновить записи. это обновит записи, если ключ обновления совпадает. если вы хотите сделать upsert (если существует UPDATE или INSERT), тогда используйте режим "allowinsert". пример: --update-mode updateonly \ -> для обновлений --update-mode allowinsert \ -> для upsert

...