Sqoop добавить с переименованием (-Dmapreduce.output.basename), не создавая файлы в HDFS - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь импортировать некоторые записи из источника, используя sqoop.Я хочу добавить все выходные данные (из нескольких прогонов) в одну и ту же папку, а также иметь настраиваемое базовое имя для каждого прогона (используя -Dmapreduce.output.basename).

Файлы успешно создаются в каталоге TEMPORARY, но по какой-то причине, когда он пытается перейти к фактическому месту вывода HDFS, он говорит "игнорируется" ..

Может кто-нибудь сообщить, чтозаставляет это быть проигнорированным.Ниже приведена команда sqoop с выводом (используется подробно).sqoop.Sqoop: Запуск версии Sqoop: 1.4.6-cdh5.12.0.

Также обратите внимание, что целевой каталог HDFS был пуст, когда я пытался это сделать.

user_1@system1 /home/sriadmin$ sqoop-import -Dmapreduce.output.basename="12345_" --connect "jdbc:sap://xx.xx.xx.xx:30215" --username "EDHQUERY" -password xxxxxxxxxx  --driver "com.sap.db.jdbc.Driver" --query "SELECT PLANT FROM SAPBWT.PLANT where \$CONDITIONS" --split-by "PLANT" --target-dir "/tmp/SRITEST/HANA_Extract_Plant/" --as-textfile --fields-terminated-by "|" --num-mappers "2" --append  --verbose
    Map-Reduce Framework
            Map input records=6428
            Map output records=6428
            Input split bytes=212
            Spilled Records=0
            Failed Shuffles=0
            Merged Map outputs=0
            GC time elapsed (ms)=305
            CPU time spent (ms)=4760
            Physical memory (bytes) snapshot=737996800
            Virtual memory (bytes) snapshot=10986500096
            Total committed heap usage (bytes)=1584398336
    File Input Format Counters
            Bytes Read=0
    File Output Format Counters
            Bytes Written=31774
18/05/29 11:19:30 INFO mapreduce.ImportJobBase: Transferred 31.0293 KB in 41.4266 seconds (766.9945 bytes/sec)
18/05/29 11:19:30 INFO mapreduce.ImportJobBase: Retrieved 6428 records.
18/05/29 11:19:30 DEBUG util.ClassLoaderStack: Restoring classloader: sun.misc.Launcher$AppClassLoader@47d384ee
18/05/29 11:19:30 INFO util.AppendUtils: Appending to directory HANA_Extract_Plant
18/05/29 11:19:30 DEBUG util.AppendUtils: Filename: 12345_-m-00000 ignored
18/05/29 11:19:30 DEBUG util.AppendUtils: Filename: 12345_-m-00001 ignored
18/05/29 11:19:30 DEBUG util.AppendUtils: Filename: _SUCCESS ignored
18/05/29 11:19:30 DEBUG util.AppendUtils: Deleting temporary folder     634e75fe8ca94ba79c0b5fbbffdffe18_4056a33f

1 Ответ

0 голосов
/ 30 мая 2018

Это существующая ошибка -

https://issues.apache.org/jira/browse/SQOOP-3330

Sqoop перемещает только файлы с именами файлов, начинающимися с 'part *'... Обходной путь - сохранить -Dmapreduce.output.basename = "part. *" (Пример: -в моем случае Dmapreduce.output.basename = "part.12345_")

...