【Sqoop】数据导入导出到Hive问题总结

文章目录

      • Sqoop improt 数据到Hive
        • 一、文件大小问题
      • Sqoop export 数据到MySQL
        • 一、Hive表union all 完有中间文件夹Sqoop目录写到表后无法递归

Sqoop improt 数据到Hive

一、文件大小问题

在这里插入图片描述
解决:

  • 1.直接在sqoop脚本中添加压缩参数 compress,由于涉及脚本较多,所以直接用第二种方法
    【Sqoop】数据导入导出到Hive问题总结_第1张图片

  • 2.修改Hive 全局参数,修改配置,重启服务,开启压缩

mapred.output.compress=true

结果: 在这里插入图片描述

Sqoop export 数据到MySQL

一、Hive表union all 完有中间文件夹Sqoop目录写到表后无法递归

Hive union all的结果表文件产生中间文件夹,如下
【Sqoop】数据导入导出到Hive问题总结_第2张图片
Sqoop 脚本导出目录直接写到建表的location目录下,任务报错,找不到文件。
【Sqoop】数据导入导出到Hive问题总结_第3张图片
解决办法:

  • 1.--export-dir目录写到表名下加个/*,即--export-dir '/warehouse/xxx/ods/ods_table_name/*'
  • 2.Hive的union all 在外面再套一层,在后面加distribute by rand()或者指定分区数

未完待续……

你可能感兴趣的:(hive,sqoop,hadoop)