Пример: выгрузка данных с генерированием команды upload на основании использования программы MapReduce при способе аутентификации Kerberos

Отчет о выполнении


[i1055@quickstart ~]$ db2hpu -i i1055 --debug -f sysin
INZM031I Optim High Performance Unload for Db2 06.01.00.001(160126) 
         64 bits 01/29/2016 (Linux quickstart.cloudera 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64)
INZI473I Ограничения памяти: 'неограничено' для виртуальной памяти и 'неограничено' для сегмента данных
       ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+
000001 GLOBAL CONNECT TO SAMPLE;
000002 UNLOAD TABLESPACE
000003 SELECT EMPNO, FIRSTNME, LASTNAME FROM EMPLOYEE;
000004 OUTFILE("outfile")
000005 LOADFILE("loadfile")
000006 LOADDEST (HADOOP MAPREDUCE WITH KERBEROS AUTH)
000007 FORMAT DEL;

INZU462I Начало шага управления HPU: 01/29/2016 11:33:59.318.
INZU463I Окончание шага управления HPU:  01/29/2016 11:33:59.385.
INZU464I Начало шага выполнения HPU:  01/29/2016 11:33:59.471.
INZU410I Утилита HPU выгрузила строк: 42, на хост quickstart, для таблицы I1055.EMPLOYEE в 
outfile.
INZU684I Утилита HPU сгенерировала команду закачивания для назначения MAPREDUCE
в файле loadfile.
INZU465I Окончание шага выполнения HPU: 01/29/2016 11:33:59.893.
INZI441I HPU успешно завершена: фактическое время -> 0m0.575369s
Время пользователя -> 0m0.620905s : родительский элемент -> 0m0.615906s, дочерний элемент -> 0m0.004999s
Системное время -> 0m0.030995s : родительский элемент -> 0m0.025996s, дочерний элемент -> 0m0.004999s

Связанный с MapReduce раздел в файле db2hpu.dest:


[MapReduce]
hdfspath=/tmp
command="/tmp/CustomMapReduce.jar" --inputfile
user=foo/quickstart.cloudera@CLOUDERA
keytab=/tmp/foo.keytab

Сгенерировано извлечение из выходного файла


[i1055@quickstart ~]$ cat outfile
"000010","CHRISTINE","I","HAAS","A00","3978",19950101,"PRES 
",18,"F",19630824,+0152750.00,+0001000.00,+0004220.00
...
"200340","ROY","R","ALONZO","E21","5698",19970705,"FIELDREP",
16,"M",19560517,+0031840.00,+0000500.00,+0001907.00
  

Сгенерирована команда закачивания


[i1055@quickstart ~]$ cat loadfile
#!/bin/sh
kinit -k -t "/tmp/foo.keytab" "foo/quickstart.cloudera@CLOUDERA" > "EMPLOYEE.msg" 2>&1
RC=$?
if [ $RC -ne 0 ]
then
    echo "Ошибка при получении идентификационных данных Kerberos. Файл 'EMPLOYEE.msg' 
          содержится в файле '/home/i1055/EMPLOYEE.msg'."
else
    rm -f "EMPLOYEE.msg"
    unset HADOOP_CLASSPATH
    export HADOOP_CLASSPATH=`hbase classpath`:/tmp/CustomMapReduce.jar

    echo Начинается закачка ...
    hdfs dfs -put -f "outfile" "/tmp/" > "EMPLOYEE.msg" 2>&1
    hadoop jar "/tmp/CustomMapReduce.jar" --inputfile "/tmp/outfile" >> "EMPLOYEE.msg" 2>&1
    RC=$?
    hdfs dfs -rm "/tmp/outfile" >> "EMPLOYEE.msg" 2>&1
    if [ $RC -ne 0 ]
    then
        echo "Ошибка при обработке файла 'outfile'.               Связанный отчет о выполнении содержится в файле 'EMPLOYEE.msg'."
    else
        echo "Файл 'outfile' успешно обработан.               Связанный отчет о выполнении содержится в файле 'EMPLOYEE.msg'."
    fi
fi