当前位置: 首页 > news >正文

sqoop安装配置教程,以及从Oracle数据抽取数据的分析

sqoop安装教程

1.使用背景以及介绍

  Sqoop is a tool designed to transfer data between Hadoop and relational databases. You can use Sqoop to import data from arelational database management system (RDBMS) such as MySQL or Oracleinto the Hadoop Distributed File System (HDFS),transform the data in Hadoop MapReduce, and then export the data backinto an RDBMS

 

     介绍:上文引用自官方文档。意思很明显,sqoop就是将传统关系型数据库中的数据抽取到sqoop上,也能导回RDBMS。而且sqoop现在已经是apache的一个顶级项目,应该比较成熟了。

 

     具体使用和详细信息参考官方文档:http://sqoop.apache.org/docs/1.4.3/SqoopUserGuide.html

2.下载解压

   因为我使用的hadoop是0.20.X的版本,sqoop不支持。sqoop支持cdh3的版本,不过没有关系,通过拷贝jar的方式可以弥补。

wget http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

wget http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

tar -zxvf sqoop-1.2.0-CDH3B4.tar.gz
tar -zxvf hadoop-0.20.2-CDH3B4.tar.gz

cp hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar  sqoop-1.2.0-CDH3B4/lib/

 

 

3.配置环境变量

 

vi .bash_profile

#内容如下
export SQOOP_HOME=/home/hadoop/sqoop-1.2.0-CDH3B4

export PATH=$PATH:$SQOOP_HOME/bin export CLASSPATH
=$CLASSPATH:$SQOOP_HOME/ojdbc6.jar:$SQOOP_HOME/lib/*

话说我一开始老是类找不到 可是东西明明在lib下了,非常的无奈,还好后来自己摸索出来这样强制指定jar的方式

 

4.尝试从Oracle数据库抽取300多万条记录

sqoop import --connect jdbc:oracle:thin:@192.168.1.65/wkm --username wkm --password wkm --target-dir /user/hadoop/wkmData2  --table C_PICRECORD_ALL  -m 1


用以上命令执行即可

--connect 后给出连接的数据库地址以及名字

--username  用户名

--password  密码

--targer-dir  hdfs上要保存的输出位置,目录自己会创建,不用我们操心

--table   用的ORACLE 一定要表名大写 因为sqoop是从oracle dictionary table里面读取的 

-m 1  设定1个并行度 ,如果多个并行度 必须确保有主键

 

 

输出结果:

注意:如果你的hadoop采用了mesos,不要把CPU和内存资源分配完,要不然会卡在map0%  reduce0%

 

------------------------------------------------1cpu 1G内存----------------------------------------------------------------------------

13/04/16 11:31:05 INFO mapreduce.ImportJobBase: Beginning import of C_PICRECORD_ALL
13/04/16 11:31:05 INFO manager.OracleManager: Time zone has been set to GMT
13/04/16 11:31:08 INFO mapred.JobClient: Running job: job_201304161006_0004
13/04/16 11:31:09 INFO mapred.JobClient:  map 0% reduce 0%
13/04/16 11:31:34 INFO mapred.JobClient:  map 100% reduce 0%
13/04/16 11:40:42 INFO mapred.JobClient: Job complete: job_201304161006_0004
13/04/16 11:40:42 INFO mapred.JobClient: Counters: 18
13/04/16 11:40:42 INFO mapred.JobClient:   Job Counters 
13/04/16 11:40:42 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=563490
13/04/16 11:40:42 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
13/04/16 11:40:42 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
13/04/16 11:40:42 INFO mapred.JobClient:     Launched map tasks=1
13/04/16 11:40:42 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0
13/04/16 11:40:42 INFO mapred.JobClient:   File Output Format Counters 
13/04/16 11:40:42 INFO mapred.JobClient:     Bytes Written=503848416
13/04/16 11:40:42 INFO mapred.JobClient:   FileSystemCounters
13/04/16 11:40:42 INFO mapred.JobClient:     HDFS_BYTES_READ=87
13/04/16 11:40:42 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=27953
13/04/16 11:40:42 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=503848416
13/04/16 11:40:42 INFO mapred.JobClient:   File Input Format Counters 
13/04/16 11:40:42 INFO mapred.JobClient:     Bytes Read=0
13/04/16 11:40:42 INFO mapred.JobClient:   Map-Reduce Framework
13/04/16 11:40:42 INFO mapred.JobClient:     Map input records=3133366
13/04/16 11:40:42 INFO mapred.JobClient:     Physical memory (bytes) snapshot=99123200
13/04/16 11:40:42 INFO mapred.JobClient:     Spilled Records=0
13/04/16 11:40:42 INFO mapred.JobClient:     CPU time spent (ms)=169400
13/04/16 11:40:42 INFO mapred.JobClient:     Total committed heap usage (bytes)=18546688
13/04/16 11:40:42 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=1521811456
13/04/16 11:40:42 INFO mapred.JobClient:     Map output records=3133366
13/04/16 11:40:42 INFO mapred.JobClient:     SPLIT_RAW_BYTES=87
13/04/16 11:40:43 INFO mapreduce.ImportJobBase: Transferred 480.5073 MB in 577.2022 seconds (852.456 KB/sec)
13/04/16 11:40:43 INFO mapreduce.ImportJobBase: Retrieved 3133366 records.
13/04/16 11:40:43 INFO util.AppendUtils: Appending to directory kakouData


------------------------------------2CPU 1.8G内存-------------------------------------------
13/04/16 13:57:41 INFO mapreduce.ImportJobBase: Beginning import of C_PICRECORD_ALL
13/04/16 13:57:41 INFO manager.OracleManager: Time zone has been set to GMT
13/04/16 13:57:43 INFO mapred.JobClient: Running job: job_201304161356_0001
13/04/16 13:57:44 INFO mapred.JobClient:  map 0% reduce 0%
13/04/16 13:58:10 INFO mapred.JobClient:  map 100% reduce 0%
13/04/16 14:07:14 INFO mapred.JobClient: Job complete: job_201304161356_0001
13/04/16 14:07:14 INFO mapred.JobClient: Counters: 18
13/04/16 14:07:14 INFO mapred.JobClient:   Job Counters 
13/04/16 14:07:14 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=557391
13/04/16 14:07:14 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
13/04/16 14:07:14 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
13/04/16 14:07:14 INFO mapred.JobClient:     Launched map tasks=1
13/04/16 14:07:14 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0
13/04/16 14:07:14 INFO mapred.JobClient:   File Output Format Counters 
13/04/16 14:07:14 INFO mapred.JobClient:     Bytes Written=503848416
13/04/16 14:07:14 INFO mapred.JobClient:   FileSystemCounters
13/04/16 14:07:14 INFO mapred.JobClient:     HDFS_BYTES_READ=87
13/04/16 14:07:14 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=27436
13/04/16 14:07:14 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=503848416
13/04/16 14:07:14 INFO mapred.JobClient:   File Input Format Counters 
13/04/16 14:07:14 INFO mapred.JobClient:     Bytes Read=0
13/04/16 14:07:14 INFO mapred.JobClient:   Map-Reduce Framework
13/04/16 14:07:14 INFO mapred.JobClient:     Map input records=3133366
13/04/16 14:07:14 INFO mapred.JobClient:     Physical memory (bytes) snapshot=139059200
13/04/16 14:07:14 INFO mapred.JobClient:     Spilled Records=0
13/04/16 14:07:14 INFO mapred.JobClient:     CPU time spent (ms)=178130
13/04/16 14:07:14 INFO mapred.JobClient:     Total committed heap usage (bytes)=17367040
13/04/16 14:07:14 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=1521811456
13/04/16 14:07:14 INFO mapred.JobClient:     Map output records=3133366
13/04/16 14:07:14 INFO mapred.JobClient:     SPLIT_RAW_BYTES=87
13/04/16 14:07:14 INFO mapreduce.ImportJobBase: Transferred 480.5073 MB in 573.1275 seconds (858.5166 KB/sec)
13/04/16 14:07:14 INFO mapreduce.ImportJobBase: Retrieved 3133366 records.

上图我分配了不同的调度资源,不过速度上好像没提升,可能这跟map和reduce的数量有关,或者我的数据量不够大。从上面可知总共有3133366条记录,花费了10分钟不到,转移到hdfs上的大小是480多M。

 

5.更多sqoop使用效率分析。。。

敬请期待。。。

转载于:https://www.cnblogs.com/neverwinter/archive/2013/03/29/2987942.html

相关文章:

  • IE6/7不读取CSS样式,或不能正常显示背景图片问题
  • ERP系统小悟
  • 分享:tmux 1.8 发布,Linux 终端复用器
  • optgroup 分类显示
  • 分享:ubuntu broadcom无线驱动安装
  • 有关网络安全方面的书籍(凯文·米特尼克作品)
  • WPF自定义控件 《动画》
  • Java classLoader【转】
  • linux系统时间修改及同步
  • ISP采用的 ISIS链接状态路由协议
  • Spring Aop的另类问题
  • vs2010创建Web Service程序
  • 宋体、文件-Ubuntu Linux中配置adb-by小雨
  • 测试数据整数搜索——Ny 90 整数划分
  • 类的静态成员
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 2017-08-04 前端日报
  • C++入门教程(10):for 语句
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • mysql外键的使用
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Redis的resp协议
  • REST架构的思考
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue.js源码(2):初探List Rendering
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 从零开始在ubuntu上搭建node开发环境
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端设计模式
  • 区块链分支循环
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 算法---两个栈实现一个队列
  • 为什么要用IPython/Jupyter?
  • 《码出高效》学习笔记与书中错误记录
  • zabbix3.2监控linux磁盘IO
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #include<初见C语言之指针(5)>
  • #Spring-boot高级
  • (12)Hive调优——count distinct去重优化
  • (BFS)hdoj2377-Bus Pass
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (一)VirtualBox安装增强功能
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)jdk与jre的区别
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 验证控件和javaScript的冲突问题
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈