[BD] Sqoop
什么是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
- 导入EMP表

- 导入指定列
- 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的更多相关文章
- [BD] Hive
简介 基于HDFS的数据仓库工具 基于HDFS上的数据分析引擎 2.x 前:SQL -----> Hive ----> MapReduce 2.x 后:推荐执行引擎为 Spark 支持S ...
- 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 ...
- 安装sqoop
安装sqoop 1.默认已经安装好java+hadoop 2.下载对应hadoop版本的sqoop版本 3.解压安装包 tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-a ...
- Hadoop学习笔记—18.Sqoop框架学习
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- Oozie分布式任务的工作流——Sqoop篇
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...
- [大数据之Sqoop] —— Sqoop初探
Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...
- [大数据之Sqoop] —— 什么是Sqoop?
介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...
- Sqoop切分数据的思想概况
Sqoop通过--split-by指定切分的字段,--m设置mapper的数量.通过这两个参数分解生成m个where子句,进行分段查询.因此sqoop的split可以理解为where子句的切分. 第一 ...
- sqoop数据导出导入命令
1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...
随机推荐
- 运维趋势2019年总结,运维就是要做到"技多不压身"
2019年 在互联网这个行业中对运维的要求越来越来越高,比如2015.16年的时候,运维只是做一些人力投入的事情,比如重启个服务,搭建一个nginx,mysql主从服务,简单的优化一下,就可以上线了, ...
- 第24 章 : Kubernetes API 编程利器:Operator 和 Operator Framework
Kubernetes API 编程利器:Operator 和 Operator Framework 本节课程主要分享以下三方面的内容: operator 概述 operator framework 实 ...
- TreeMap和HashMap的元素比较
写在前面的话 2021.04,准备面试和CCF CSP认证的我准备做一套CCF模拟题,然后就有了此篇博客(x 题目:201912-2 回收站报数 题目截图: 第一个想法:读取每个垃圾的位置,存入Tre ...
- OAuth2.0理解和用法
现在网络的资料到处都是,很容易搜索到自己想要的答案.但答案通常只能解决自己一部分的问题.如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱. 我需要学下OAuth2.0吗? 没看之前以为OAuth2 ...
- 逻辑引擎、工作流、CMDB小感
工作流是啥? 在界面上画画点点就能生成代码,这是很吸引人的事情,也是很多自动化工具追求的目标.工作流就是这么一个东西,通过定义流程和输入,就能实现你想要的东西,不需要编写代码. 工作流的实现 通过解析 ...
- window.location 与window.open区别
window.location 与window.open区别 1.window.location是window对象的属性,而window.open是window对象的方法 window.locat ...
- php 二维数组排序详解: array_multisort
定义和用法 array_multisort() 函数返回一个排序数组.您可以输入一个或多个数组.函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序. 注释: ...
- 深入学习Android系统上mount命令的使用
博客链接:http://blog.csdn.net/qq1084283172/article/details/52493227 在Android系统的预装apk病毒和elf病毒的清除时,经常需要先获取 ...
- LA3266田忌赛马
题意: 田忌和齐王赛马,两个人每人n匹马,每个马都有自己的速度,赢一场得到200分,输一场失去200分,平则不得分,问田忌可能得到的最高得分是多少? 思路: 又是一个比较经典的 ...
- anaconda安装教程
Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境.我们常常会遇到这样的情况,正在做的项目A和项目B分别基于python2和python3,而第电脑只能安装一个环 ...