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 是一款方便的在传统型数据库与 Hadoop 之间进行数据迁移的工具,充分利用 MapReduce 并行特点以批处理的方式加快数据传输。Sqoop 工具是 Hadoop 下连接关系型数据库和 Hadoop 的桥梁,支持...
### Sqoop 1.4.6 用户指南 #### 1. 引言 Sqoop 是一个用于在 Hadoop 和关系型数据库之间高效传输大规模数据的工具。它支持多种数据库,并且能够利用 MapReduce 进行并行化操作,极大地提高了数据导入导出的速度。 ...
内容概要:Sqoop 1.4.7 安装包主要包括以下内容:Sqoop 命令行工具:用于执行数据迁移任务的客户端工具。连接器:Sqoop 支持多种数据库连接器,包括 MySQL、PostgreSQL、Oracle 等,用于连接目标数据库。元数据驱动...
Sqoop是Apache Hadoop生态中的一个工具,用于在关系型数据库和Hadoop之间高效地导入导出数据。在这个场景中,我们遇到了一个关于Sqoop运行时的问题,即"找不到或无法加载主类 org.apache.sqoop.sqoop"。这个问题通常...
星环大数据平台使用的Sqoop是一种在Hadoop与传统关系数据库之间进行数据迁移的工具。Sqoop利用MapReduce的分布式并行处理机制来实现数据的高效导入导出。在星环大数据平台中使用Sqoop,可以实现对数据的批量迁移,这...
本文主要讲述在Hue平台使用Oozie工作流操作Sqoop工具将MySQL数据库的数据传输到HDFS中,并最终导入到Hive表中的经验。以下是详细知识点: 1. Hue平台和Oozie工作流简介: Hue是一种开源的用户界面,用于简化与...
【大数据技术基础实验报告——Sqoop的安装配置与应用】 Sqoop是一款用于在Apache Hadoop和关系型数据库之间传输数据的工具,它简化了大量数据的导入导出过程。本实验报告将详细介绍如何安装配置Sqoop以及如何使用...
Sqoop 是 Apache Hadoop 生态系统中的一个工具,主要用于在关系型数据库(如 MySQL、Oracle 等)和 Hadoop 分布式文件系统(HDFS)之间高效地传输数据。这个压缩包 "sqoop-1.4.2.bin__hadoop-2.0.0-alpha.tar" 提供...
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,...
Apache Sqoop 是一个用于在关系型数据库(如 MySQL 和 Sybase)与 Hadoop 分布式文件系统(HDFS)之间高效传输数据的工具。在大数据处理中,Sqoop 提供了方便的数据导入和导出功能,它能够将结构化的数据从传统...
Sqoop是Apache Hadoop生态中的一个工具,专门用于在关系型数据库(如SQL Server)与Hadoop Distributed File System(HDFS)之间传输数据。在这个"Sqoop-sqlserver-hdfs.rar"压缩包中,我们有两个关键文件:sqljdbc....
《Sqoop 1.4.6 在 CDH 5.5.0 中的应用与详解》 Sqoop 是 Apache Hadoop 生态系统中的一个重要组件,它主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 分布式文件系统(HDFS)之间进行数据迁移。 Sqoop 的...
Sqoop 是一个开源工具,主要用于在关系数据库管理系统(RDBMS)与 Apache Hadoop 之间进行数据迁移。这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 包含了 Sqoop 的 1.4.7 版本,该版本是针对 Hadoop 2.6.0 的。...
Sqoop 是 Apache 开源项目中一个用于在关系数据库与 Hadoop 之间进行数据导入导出的工具。在大数据处理场景中,Sqoop 提供了一种高效、方便的方式将结构化数据从传统数据库如 MySQL、Oracle 等迁移到 Hadoop 的 HDFS...
Sqoop集群搭建指南 Sqoop是一款开源的数据转换工具,由 Apache 软件基金会开发,主要用于在 Hadoop 集群和结构化数据存储之间移动数据。Sqoop 集群搭建是指在 Hadoop 集群环境中安装和配置 Sqoop,以实现数据的高效...
Sqoop 是一个开源工具,主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 的 HDFS(Hadoop Distributed File System)之间进行数据迁移。这个压缩包 "sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.zip" 包含了 ...
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是Apache Hadoop生态中的一个工具,用于在Hadoop和关系型数据库之间高效地导入导出数据。在CDH(Cloudera Distribution Including Apache Hadoop)环境下安装和使用Sqoop,可以方便地将结构化数据从传统的...
在IT行业中,我们经常涉及到各种库和框架的集成与使用,这次我们关注的是"Atlas2.3.0"依赖的组件:"org.restlet/sqoop-1.4.6.2.3.99.0-195"。这个依赖包含了三个关键的JAR文件:`sqoop-1.4.6.2.3.99.0-195.jar`,`...
Sqoop 是一个用于在 Apache Hadoop 和传统关系型数据库之间进行数据迁移的工具。它主要负责将结构化的数据从 RDBMS(例如 MySQL)导入到 Hadoop 分布式文件系统(HDFS)、HBase 或 Hive,同时也能将数据从 Hadoop ...