什么是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

  • 其他命令

参考

Sqoop 安装和基本操作

https://blog.csdn.net/yumingzhu1/article/details/80678525

https://www.cnblogs.com/mmzs/p/8149921.html

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

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

[BD] Sqoop的更多相关文章

  1. [BD] Hive

    简介 基于HDFS的数据仓库工具 基于HDFS上的数据分析引擎 2.x 前:SQL -----> Hive  ----> MapReduce 2.x 后:推荐执行引擎为 Spark 支持S ...

  2. sqoop:Failed to download file from http://hdp01:8080/resources//oracle-jdbc-driver.jar due to HTTP error: HTTP Error 404: Not Found

    环境:ambari2.3,centos7,sqoop1.4.6 问题描述:通过ambari安装了sqoop,又添加了oracle驱动配置,如下: 保存配置后,重启sqoop报错:http://hdp0 ...

  3. 安装sqoop

    安装sqoop 1.默认已经安装好java+hadoop 2.下载对应hadoop版本的sqoop版本 3.解压安装包 tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-a ...

  4. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  5. Oozie分布式任务的工作流——Sqoop篇

    Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...

  6. [大数据之Sqoop] —— Sqoop初探

    Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...

  7. [大数据之Sqoop] —— 什么是Sqoop?

    介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...

  8. Sqoop切分数据的思想概况

    Sqoop通过--split-by指定切分的字段,--m设置mapper的数量.通过这两个参数分解生成m个where子句,进行分段查询.因此sqoop的split可以理解为where子句的切分. 第一 ...

  9. sqoop数据导出导入命令

    1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...

随机推荐

  1. 用Python优雅的写出送给女儿的藏头诗

    2016年迎来了我的小土匪,忙活了一年,在17年的4月加班的夜里因思念以小土匪的名字写了一首藏头发了朋友圈,不温不火,最近在看python,那么如何用python优雅的用写出这首诗了? 执行 代码 i ...

  2. Logstash生产环境实践手册(含grok规则示例和ELKF应用场景)

    ELKF应用场景: 1) datasource->logstash->elasticsearch->kibana 2) datasource->filebeat->log ...

  3. 第17 章 : 深入理解 etcd:etcd 性能优化实践

    深入理解 etcd:etcd 性能优化实践 本文将主要分享以下五方面的内容: etcd 前节课程回顾复习: 理解 etcd 性能: etcd 性能优化 -server 端: etcd 性能优化 -cl ...

  4. Chapter 2 简单DC-DC变换器稳态分析小结

    Chapter 2 简单DC-DC变换器稳态分析小结 1 本章重点 1.1 小纹波近似 所谓小纹波近似就是DC-DC变换器的稳态分析中,假定开关频率次的纹波相对于直流分量而言非常小,可以将其忽略进行各 ...

  5. 结对编程_stage2

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目-第二阶段 我在这个课程的目标是 从实践中学习软件工程相关知识(结构化分析和设计方法.敏捷开发方法. ...

  6. NPM 与 NPX 区别

    NPM 和 NPX 区别 NPM Node Package Manager npm 是 Node.js 的软件包管理器,其目标是自动化的依赖性和软件包管理 NPX npx 是执行 Node 软件包的工 ...

  7. 下载kaggle数据集的小妙招

    kaggle是很多数据分析和机器学习初学者非常喜爱的数据科学竞赛平台. 这个平台上有很多接近现实业务场景的数据集,非常适合练手. 今天向大家推荐一个下载kaggle数据集的小工具--kaggleAPI ...

  8. Java【线程池、Lambda表达式】

    见pdf 等待唤醒机制 wait和notify 第二章 线程池 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低 系统的效率,因为频繁创建线程和销毁 ...

  9. openpyxl 库

    1. 简介与安装 2.具体示例 2.1 获取workbook与sheet对象 2.2 访问单元格及其值 2.3 写数据 2.4 设置样式 1. 简介与安装 openpyxl 简介 openpyxl 是 ...

  10. SpringMVC请求参数解析

    请求参数解析 客户端请求在handlerMapping中找到对应handler后,将会继续执行DispatchServlet的doPatch()方法. 首先是找到handler对应的适配器. Hand ...