首页 > 其他 > 详细

[BD] Sqoop

时间:2020-05-21 21:38:38      阅读:64      评论:0      收藏:0      [点我收藏+]

什么是Sqoop

  • 数据交换工具(ETL):RDBMS(MySQL、Oracle等)<-->Sqoop<-->HDFS(HBase、Hive等)
  • 基于JDBC
  • 执行数据交换时,本质是执行一个MapReduce

安装

  • tar -zxvf sqoop-1.4.5.bin__hadoop-0.23.tar.gz -C ~/training/
  • 设置环境变量
  • vi ~/.bash_profile

命令

  • codegen:将关系数据库表映射为一个Java文件,Java class类,及相关的jar包
    • sqoop codegen --connect jdbc:oracle:thin:@192.168.174.133:1521/orcl --username SCOTT --password tiger --table EMP --outdir /root/temp
    • 由于是基于 jdbc 访问数据库,需要把 oracle 的 jdbc jar 包放到 sqoop 的 lib 目录下
    • C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar
  • create-hive-table:将关系型数据库的表结构复制到hive中
    • sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table username --username root --password 123456 --hive-table test
  • eval:在sqoop中执行SQL语句
    • sqoop eval --connect jdbc:oracle:thin:@192.168.174.133:1521/orcl --username SCOTT --password tiger --query ‘select * from emp‘   
  • import:将数据库表的数据导入HDFS中
    • 导入EMP表
      • 底层是MapReduce任务
      • sqoop import --connect jdbc:oracle:thin:@192.168.174.133:1521/orcl --username SCOTT --password tiger --table EMP --target-dir /sqoop/import/emp1

技术分享图片

    • 导入指定列
      • sqoop import --connect jdbc:oracle:thin:@192.168.174.133:1521/orcl --username SCOTT --password tiger --table EMP --columns EMPNO,ENAME,SAL --target-dir /sqoop/import/emp2
    • 导入订单表(约92万数据) 
      • 注意表名大写
      • 30826876/1024/1024=29.4 M
      • sqoop import --connect jdbc:oracle:thin:@192.168.174.133:1521/orcl --username SH --password sh --table SALES --target-dir /sqoop/import/sales -m 1

技术分享图片

技术分享图片

  • 其他命令

技术分享图片

参考

Windows 不能在本地计算机启动 OracleDBConsoleorcl的问题解决方法

https://www.cnblogs.com/xiaoxiaoweng/p/7337638.html

[BD] Sqoop

原文:https://www.cnblogs.com/cxc1357/p/12933651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!