Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》

一、什么是sqoop

  Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

二、sqoop的特点

  Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。

三、Sqoop import 命令

  将Mysql的jdbc驱动放在/opt/cloudera/parcels/CDH/lib/sqoop/lib目录下。

  如下图:

  

  参考学习网址:

  http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html

  命令详解:

  1、基本语法

1 $ sqoop import (generic-args) (import-args)$ sqoop-import (generic-args) (import-args)

  2、基本命令

  查看网址:

  http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html

  中的sqoop import的 Import control arguments

   

  3、案例

  方式一:

  将表rpt_sale_daily中数据导入到HDFS上。

  目标目录为:sqoop/rpt_sale_daily。

sqoop import --connect jdbc:mysql://master:3306/test \
--username root --password 123456 --table rpt_sale_daily --columns "dateid,huodong,pv,uv" --where "dateid=‘2015-08-28‘" --target-dir sqoop/rpt_sale_daily -m 1

  如果提示 sqoop/rpt_sale_daily 目录已经存在,执行:

hadoop fs -rmr sqoop/rpt_sale_daily

执行结果:如下图

20条数据成功导入,开始检测吧亲。

执行代码:

hadoop fs -cat sqoop/rpt_sale_daily/part-m-00000

数据如下图:

关系数据库表rpt_sale_daily里面的数据如下:

对比,数据相同,成功导入。

方式二:

通过opt文件的方式传送:

新建test.opt文件:

 1 import
 2 --connect
 3 jdbc:mysql://192.168.0.115:3306/test
 4 --username
 5 root
 6 --password
 7 123456
 8 --table
 9 rpt_sale_daily
10 --columns
11 "id,huodong,pvv,uvv"
12 --where
13 "id=‘2015-08-28‘"
14 --target-dir
15 sqoop/rpt_sale_daily
16 -m 1

执行指令:

sqoop options-file test.opt

执行过程和结果和方式一一样。

时间: 2024-12-25 19:13:26

Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》的相关文章

大数据学习之sqoop框架 25

1:Sqoop概述 1)官网 http://sqoop.apache.org/ 2)场景 传统型缺点,分布式存储.把传统型数据库数据迁移. Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 . 2:Sqoop安装部署 1)下载安装包 2)解压 tar -zxvf .tar 3)修改配置 vi sqoop-env.sh export HADOOP_COMMON_HOME=/root/training/hadoop-2.

Hive学习心得&Hive的UDF

一:Hive基本介绍 Hive是建立在Hadoop上的数据仓库基础构架,它提供了一系列工具可以用来进行数据提取.转化.加载,这是一种可以存储.查询和分析存储在Hadoop中的大规模的数据机制. 使用语言:QL语言(类SQL查询语言).能处理内建的mapper和reducer无法完成的复杂分析工作. 1.Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后再Hadoop执行. 2.Hive的表其实是HDFS的目录(/文件夹),按表名把文件夹区分开.如果是分区表,则分区值是子文件夹,可以

sqoop从oracle数据库抽取数据,导入到hive

环境: hadoop-2.7.5 sqoop-1.4.7 zookeeper-3.4.10 hive-2.3.3 (使用mysql配置元数据库) jdk1.8.0_151 oracle 11.2.0.3.0 经过一番baidu,总算初步成功,现在记录一下中间过程. 1.拷贝hive/conf/hive_site.xml到sqoop/conf目录2.配置sqoop-evn.sh,将变量设置为对应的目录. export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2

sqoop命令,mysql导入到hdfs、hbase、hive

1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' 2.检验SQL语句 bin/sqoop eval --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --quer

Sqoop 脚本开发规范(实例手把手带你写sqoop export和sqoop import)

首先,先明确,为什么Sqoop需要规范的脚本开发呢? 答:是因为,Sqoop import HDFS/Hive/HBase这些都是手动.但是在实际生产里,有时候,需要用脚本来完成. 比如,通过shell脚本来操作对Sqoop.Hive.HBase.MapReduce.HDFS.Spark.Storm等各种. Sqoop 脚本开发规范 目录规范 1.目录结构体系 /home/hadoop(开发用户)/app/djt(数据来源.业务)/sh/sqoop 示例:/home/hadoop/app/djt

Hive学习路线图

Hive学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等. 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处

Java并发学习之七——守护线程

本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.Java有两种Thread:"守护线程Daemon"与"用户线程User".用户线程:Java虚拟机在它所有非守护线程已经离开后自动离开:守护线程:则是用来服务用户线程的,如果没有其他用户线程在运行,那么就没有可服务对象,也就没有理由继续下去. 2.setDaemon(boolean on)方法可以方便的设置线程的Daemon模式,true为Daemon模式,此方法必须在线程启动之前调用,当线程正在运行时调用

Hive学习路线图(转)

Hadoophivehqlroadmap学习路线图 1 Comment Hive学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等. 从2011年开始,中国

hive学习

大数据的仓库Hive学习 10期-崔晓光 2016-06-20  大数据   hadoop   10原文链接 我们接着之前学习的大数据来学习.之前说到了NoSql的HBase数据库以及Hadoop中的HDFS存储系统,可是我们发现这跟我们平时常用的关系型数据库有很大区别,为了使用方便,产生了针对大数据存储的数据仓库Hive. 一.是什么 1.概念 Hive 是一个基于 Hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据. 它把海量数据存储于 hadoop 文件系统,而不是数据库,但提