Sqoop导入导出操作及参数配置

简介

  1. sqoop就是一个能够在 关系型数据库 和 hadoop 之间实现数据导入导出的工具,关系型数据库数据迁移到hadoop的称为导入,反之为导出。

  2. sqoop底层执行的是 mapreduce中的 mapTask,这是因为它实现数据的迁移,不涉及数据的聚合操作。在导入数据时,mapreduce 程序读取 数据库数据使用 DBinputFormat 来实现。在导出数据时,mapreduce 程序将数据写到数据库,使用 DBoutputFormat 来实现。

  3. sqoop的安装步骤包含了(只是一个工具,学习时最好三台机器都安装):

    1. 下载解压,修改 sqoop-env.sh 配置文件。
    2. 添加 jdbc 驱动包 到 sqoop的 lib 文件夹下。
    3. 添加环境变量。
    4. 执行 sqoop-version 验证安装结果。
  4. sqoop帮助文档:

    sqoop help
    sqoop list-databases --help
    sqoop list-tables --help
    	Common arguments:常见的连接关系数据库属性
    
  5. sqoop 安装验证

    bin/sqoop list-databases \
    --connect jdbc:mysql://localhost:3306/ \
    --username root --password hadoop
    

注意事项:命令携带参数必须出现在一行中,若换行就意味着自动提交执行,可通过\表示未结束。

全量导入

  • 全量导入数据到hdfs

    • --connect --username --password 指定连接的数据库,账号和密码,mysql的地址尽量不要使用localhost 请使用ip或者host。

    • --table 指定的是要导入的数据库表。

    • --target-dir 指定导入的HDFS路径,--delete-target-dir 如目录存在则删除。

    • --fields-terminated-by '\t' ,指定HDFS数据字段间的分隔符,默认分隔符是逗号。

    • --m 1 如果表的数据比较多,可以指定mapTask个数,如果值大于1且表没有主键就要指定 --split-by 字段名 进行切分。

      bin/sqoop import \
      --connect jdbc:mysql://node-1:3306/userdb \
      --username root \
      --password hadoop \
      --target-dir /sqoopresult214 \
      --fields-terminated-by '\
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值