`

Sqoop

 
阅读更多

 

sqoop的使用

----sqoop是一个用来在hadoop体系和关系型数据库之间进行数据互导的工具

----实质就是将导入导出命令转换成mapreduce程序来实现

 

sqoop安装:安装在一台节点上就可以了。

 

1.上传sqoop

 

2.安装和配置

----修改配置文件  sqoop-env.sh(没有就创建一个)

#Set path to where bin/hadoop is available

export HADOOP_COMMON_HOME=/home/hadoop/app/hadoop-2.4.1

 

#Set path to where hadoop-*-core.jar is available

export HADOOP_MAPRED_HOME=/home/hadoop/app/hadoop-2.4.1

 

#set the path to where bin/hbase is available

export HBASE_HOME=/home/hadoop/app/hbase-0.96.2-hadoop2

 

#Set the path to where bin/hive is available

export HIVE_HOME=/home/hadoop/app/hive-0.12.0-bin

 

#Set the path for where zookeper config dir is

export ZOOCFGDIR=/home/hadoop/app/zookeeper-3.4.5/conf

 

 

在添加sqoop到环境变量

 

######将数据库连接驱动拷贝到$SQOOP_HOME/lib里

 

 

3.使用

第一类:数据库中的数据导入到HDFS上

sqoop import 

--connect jdbc:mysql://192.168.1.10:3306/itcast 

--username root --password 123  

--table trade_detail 

--columns 'id, account, income, expenses'

 

指定输出路径、指定数据分隔符

sqoop import 

--connect jdbc:mysql://192.168.1.10:3306/itcast 

--username root --password 123  

##要导入数据的表

--table trade_detail 

##数据导入hdfs后所存放的目录

--target-dir '/sqoop/td' 

##导入的数据字段之间的分隔符

--fields-terminated-by '\t'

 

指定Map数量 -m 

sqoop import 

--connect jdbc:mysql://192.168.1.10:3306/itcast 

--username root --password 123  

--table trade_detail 

--target-dir '/sqoop/td1' 

--fields-terminated-by '\t'

##指定做导入处理时的map 任务数 

-m 2

 

增加where条件, 注意:条件必须用引号引起来

sqoop import 

--connect jdbc:mysql://192.168.1.10:3306/itcast 

--username root --password 123  

--table trade_detail 

--where 'id>3' 

--target-dir '/sqoop/td2' 

 

增加query语句(使用 \ 将语句换行)

sqoop import 

--connect jdbc:mysql://192.168.1.10:3306/itcast 

--username root --password 123 

--query 'SELECT * FROM trade_detail where id > 2 AND $CONDITIONS' 

--split-by trade_detail.id 

--target-dir '/sqoop/td3'

 

注意:如果使用--query这个命令的时候,需要注意的是where后面的参数,AND $CONDITIONS这个参数必须加上

而且存在单引号与双引号的区别,如果--query后面使用的是双引号,那么需要在$CONDITIONS前加上\即\$CONDITIONS

如果设置map数量为1个时即-m 1,不用加上--split-by ${tablename.column},否则需要加上

 

第二类:将HDFS上的文件数据导出到数据库的表里面去

sqoop export 

--connect jdbc:mysql://192.168.8.120:3306/itcast 

--username root --password 123 

##你要导出的数据所在的目录

--export-dir '/td3' 

##你要导往的目标关系表

--table td_bak 

-m 1 

##你要导出的文件的字段分隔符

--fields-termianted-by '\t'

 

4.配置mysql远程连接

GRANT ALL PRIVILEGES ON itcast.* TO 'root'@'192.168.1.201' IDENTIFIED BY '123' WITH GRANT OPTION;

FLUSH PRIVILEGES; 

 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;

FLUSH PRIVILEGES

 

 用sql进行处理导入hdfs数据:

 sqoop import --connect jdbc:mysql://mysqladdr:3306/dbname  --username  用户名 --password 密码  --query    'select  distinct  case sex when  "nan" then "男"  when "nv" then "女"  else "未知" end sex1 ,  name1 , date_format(birthday, "%Y年%m月%d日")  d , replace(own_money,"$","yuan") money , `desc` e  from sqoop_test where name1 is not null  and  1=1 and  $CONDITIONS'    --split-by  sqoop_test.id   --target-dir /tmp/data/user/hdfs/test_table_5

 

 

 

分享到:
评论

相关推荐

    Sqoop安装与使用

    Sqoop 安装与使用 Sqoop 是一款方便的在传统型数据库与 Hadoop 之间进行数据迁移的工具,充分利用 MapReduce 并行特点以批处理的方式加快数据传输。Sqoop 工具是 Hadoop 下连接关系型数据库和 Hadoop 的桥梁,支持...

    sqoop1-1.4.6 documentation 英文文档

    ### Sqoop 1.4.6 用户指南 #### 1. 引言 Sqoop 是一个用于在 Hadoop 和关系型数据库之间高效传输大规模数据的工具。它支持多种数据库,并且能够利用 MapReduce 进行并行化操作,极大地提高了数据导入导出的速度。 ...

    sqoop-1.4.7(可直接下载学习使用)附有安装配置教程!

    内容概要:Sqoop 1.4.7 安装包主要包括以下内容:Sqoop 命令行工具:用于执行数据迁移任务的客户端工具。连接器:Sqoop 支持多种数据库连接器,包括 MySQL、PostgreSQL、Oracle 等,用于连接目标数据库。元数据驱动...

    sqoop-1.4.7.zip

    Sqoop是Apache Hadoop生态中的一个工具,用于在关系型数据库和Hadoop之间高效地导入导出数据。在这个场景中,我们遇到了一个关于Sqoop运行时的问题,即"找不到或无法加载主类 org.apache.sqoop.sqoop"。这个问题通常...

    星环大数据平台_Sqoop数据导入.pdf

    星环大数据平台使用的Sqoop是一种在Hadoop与传统关系数据库之间进行数据迁移的工具。Sqoop利用MapReduce的分布式并行处理机制来实现数据的高效导入导出。在星环大数据平台中使用Sqoop,可以实现对数据的批量迁移,这...

    hue平台oozie工作流操作sqoop,把mysql.pdf

    本文主要讲述在Hue平台使用Oozie工作流操作Sqoop工具将MySQL数据库的数据传输到HDFS中,并最终导入到Hive表中的经验。以下是详细知识点: 1. Hue平台和Oozie工作流简介: Hue是一种开源的用户界面,用于简化与...

    大数据技术基础实验报告-sqoop的安装配置与应用.doc

    【大数据技术基础实验报告——Sqoop的安装配置与应用】 Sqoop是一款用于在Apache Hadoop和关系型数据库之间传输数据的工具,它简化了大量数据的导入导出过程。本实验报告将详细介绍如何安装配置Sqoop以及如何使用...

    sqoop-1.4.2.bin__hadoop-2.0.0-alpha.tar

    Sqoop 是 Apache Hadoop 生态系统中的一个工具,主要用于在关系型数据库(如 MySQL、Oracle 等)和 Hadoop 分布式文件系统(HDFS)之间高效地传输数据。这个压缩包 "sqoop-1.4.2.bin__hadoop-2.0.0-alpha.tar" 提供...

    sqoop-1.4.6.bin-hadoop-2.0.4-alpha版本的压缩包,直接下载到本地,解压后即可使用

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

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive)

    Apache Sqoop 是一个用于在关系型数据库(如 MySQL 和 Sybase)与 Hadoop 分布式文件系统(HDFS)之间高效传输数据的工具。在大数据处理中,Sqoop 提供了方便的数据导入和导出功能,它能够将结构化的数据从传统...

    sqoop安装与使用

    ### Sqoop 安装与使用详解 #### 一、Sqoop功能概述 Sqoop是一款用于在Hadoop和关系型数据库之间高效传输数据的工具。它能够便捷地将关系型数据库管理系统(RDBMS)中的数据导入到HDFS或从HDFS导出到RDBMS中,同时也...

    Sqoop-sqlserver-hdfs.rar

    Sqoop是Apache Hadoop生态中的一个工具,专门用于在关系型数据库(如SQL Server)与Hadoop Distributed File System(HDFS)之间传输数据。在这个"Sqoop-sqlserver-hdfs.rar"压缩包中,我们有两个关键文件:sqljdbc....

    sqoop-1.4.6-cdh5.5.0.tar.gz

    《Sqoop 1.4.6 在 CDH 5.5.0 中的应用与详解》 Sqoop 是 Apache Hadoop 生态系统中的一个重要组件,它主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 分布式文件系统(HDFS)之间进行数据迁移。 Sqoop 的...

    sqoop-1.4.7.bin__hadoop-2.6.0.tar

    Sqoop 是一个开源工具,主要用于在关系数据库管理系统(RDBMS)与 Apache Hadoop 之间进行数据迁移。这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 包含了 Sqoop 的 1.4.7 版本,该版本是针对 Hadoop 2.6.0 的。...

    sqoop-1.4.4-cdh5.0.6.tar

    Sqoop 是 Apache 开源项目中一个用于在关系数据库与 Hadoop 之间进行数据导入导出的工具。在大数据处理场景中,Sqoop 提供了一种高效、方便的方式将结构化数据从传统数据库如 MySQL、Oracle 等迁移到 Hadoop 的 HDFS...

    Sqoop集群搭建.

    Sqoop集群搭建指南 Sqoop是一款开源的数据转换工具,由 Apache 软件基金会开发,主要用于在 Hadoop 集群和结构化数据存储之间移动数据。Sqoop 集群搭建是指在 Hadoop 集群环境中安装和配置 Sqoop,以实现数据的高效...

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.zip

    Sqoop 是一个开源工具,主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 的 HDFS(Hadoop Distributed File System)之间进行数据迁移。这个压缩包 "sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.zip" 包含了 ...

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

    Sqoop 是一个用于在 Apache Hadoop 和传统关系型数据库之间高效传输数据的工具。这个压缩包 "sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz" 包含了 Sqoop 的 1.4.6 版本,它已针对 Hadoop 2.0.4-alpha 版本进行了...

    sqoop-cdh安装包

    Sqoop是Apache Hadoop生态中的一个工具,用于在Hadoop和关系型数据库之间高效地导入导出数据。在CDH(Cloudera Distribution Including Apache Hadoop)环境下安装和使用Sqoop,可以方便地将结构化数据从传统的...

    Sqoop学习文档(1){Sqoop基本概念、Sqoop的安装配置}.docx

    Sqoop 是一个用于在 Apache Hadoop 和传统关系型数据库之间进行数据迁移的工具。它主要负责将结构化的数据从 RDBMS(例如 MySQL)导入到 Hadoop 分布式文件系统(HDFS)、HBase 或 Hive,同时也能将数据从 Hadoop ...

Global site tag (gtag.js) - Google Analytics