【问题标题】:Sqoop export job failedSqoop 导出作业失败
【发布时间】:2018-09-26 11:20:48
【问题描述】:

无法将 HDFS 内容导出到 oracle DB。

甲骨文:

    create table DB1.T1 (
        id1 number,
        id2 number
    );

蜂巢:

    create table DB1.T1 (
        id1 int,
        id2 int
    );
    insert into table values(0,0);

Sqoop:

$ sqoop export \
--connect driver:@ip:port:DB \
--username=DB --password  'bad_practice_pwd' \
-m 1 \
--export-dir "/user/hive/warehouse/DB1.db/T1/file" \
--table DB1.T1
--direct

错误:

18/04/16 17:11:00 INFO mapreduce.Job:作业 job_1520336080249_0240 失败,状态为 FAILED,原因是:任务失败 task_1520336080249_0240_m_000000 由于任务失败,作业失败。 failedMaps:1 failedReduces:0

18/04/16 17:11:00 信息 mapreduce.Job:计数器:8 工作计数器 失败的地图任务=1 启动地图任务=1 机架本地地图任务=1 所有地图在占用槽中花费的总时间(ms)=4872 所有reduce在占用槽中花费的总时间(ms)=0 所有map任务花费的总时间(ms)=4872 所有地图任务占用的总 vcore-毫秒=4872 所有映射任务占用的总兆字节毫秒数=4988928 18/04/16 17:11:00 WARN mapreduce.Counters: Group FileSystemCounters 已弃用。采用 org.apache.hadoop.mapreduce.FileSystemCounter 而不是 18/04/16 17:11:00 INFO mapreduce.ExportJobBase:在 16.9653 中传输了 0 个字节 秒(0 字节/秒) 18/04/16 17:11:00 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter 已弃用。采用 org.apache.hadoop.mapreduce.TaskCounter 改为 18/04/16 17:11:00 信息 mapreduce.ExportJobBase:导出 0 条记录。 18/04/16 17:11:00 错误 tool.ExportTool:导出时出错:导出作业失败! 在 org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:439) 在 org.apache.sqoop.manager.OracleManager.exportTable(OracleManager.java:465) 在 org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:80) 在 org.apache.sqoop.tool.ExportTool.run(ExportTool.java:99) 在 org.apache.sqoop.Sqoop.run(Sqoop.java:147) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) 在 org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) 在 org.apache.sqoop.Sqoop.main(Sqoop.java:252)

【问题讨论】:

    标签: oracle hive hdfs sqoop cloudera


    【解决方案1】:

    已将 Hive 表定义为:

        create table DB1.T1 (
        id1 int,
        id2 int
        )
        ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
        LINES TERMINATED BY '\n;
    

    然后导出完成。

    18/04/18 13:09:11 INFO mapreduce.Job:计数器:30 文件系统计数器 文件:读取的字节数=0 文件:写入的字节数=175430 文件:读取操作数=0 文件:大型读取操作数=0 文件:写操作数=0 HDFS:读取的字节数=189 HDFS:写入的字节数=0 HDFS:读取操作数=4 HDFS:大读取操作数=0 HDFS:写操作数=0 工作计数器 启动地图任务=1 机架本地地图任务=1 所有地图在占用槽中花费的总时间(ms)=2747 所有reduce在占用槽中花费的总时间(ms)=0 所有map任务花费的总时间(ms)=2747 所有地图任务占用的总 vcore-毫秒=2747 所有地图任务占用的总兆字节毫秒数=2812928 Map-Reduce 框架 映射输入记录=1 映射输出记录=1 输入分割字节=182 溢出记录=0 洗牌失败=0 合并地图输出=0 GC 时间 (ms)=47 花费的 CPU 时间(毫秒)=1620 物理内存(字节)快照=359587840 虚拟内存(字节)快照=2823344128 总提交堆使用量(字节)=619184128 文件输入格式计数器 字节读取=0 文件输出格式计数器 写入的字节数=0 18/04/18 13:09:11 INFO mapreduce.ExportJobBase:在 13.8196 秒内传输 189 个字节(13.6762 字节/秒) 18/04/18 13:09:11 INFO mapreduce.ExportJobBase: 导出 1 条记录。

    【讨论】:

    • 非常感谢!!
    【解决方案2】:

    我遇到了类似的问题,当我缩小 hive 存储文件的位置时,我发现空值被转换为 '\n' 但是目标 MySQL 列需要 int 值,我不得不从表,然后问题得到解决。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多