sqoop之数据迁移

shanhua-fu shanhua-fu     2022-10-10     442

关键词:

安装sqoop的前提是已经具备java和hadoop的环境
1、下载并解压
最新版下载地址http://ftp.wayne.edu/apache/sqoop/1.4.6/


2、修改配置文件
$ cd $SQOOP_HOME/conf
$ mv sqoop-env-template.sh sqoop-env.sh
打开sqoop-env.sh并编辑下面几行:
export HADOOP_COMMON_HOME=/home/hadoop/apps/hadoop-2.6.1/ 
export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.6.1/
export HIVE_HOME=/home/hadoop/apps/hive-1.2.1


3、加入mysql的jdbc驱动包
cp  ~/app/hive/lib/mysql-connector-java-5.1.28.jar   $SQOOP_HOME/lib/

4、验证启动

$ cd $SQOOP_HOME/bin

$ sqoop-version

预期的输出:

15/12/17 14:52:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6

Sqoop 1.4.6 git commit id 5b34accaca7de251fc91161733f906af2eddbe83

Compiled by abe on Fri Aug 1 11:19:26 PDT 2015

到这里,整个Sqoop安装工作完成。

常用命令:

Available commands:
codegen    Generate code to interact with database records
create-hive-table    Import a table definition into Hive
eval    Evaluate a SQL statement and display the results
export    Export an HDFS directory to a database table
help    List available commands
import    Import a table from a database to HDFS
import-all-tables    Import tables from a database to HDFS
import-mainframe    Import datasets from a mainframe server to HDFS
job    Work with saved jobs
list-databases    List available databases on a server
list-tables    List available tables in a database
merge    Merge results of incremental imports
metastore    Run a standalone Sqoop metastore
version    Display version information

测试例子:

将数据库的表数据导入的hdfs:

mysql> select * from tmp;               
+------+------+
| id   | name |
+------+------+
|    1 | f    |
|    2 | a    |
|    3 | b    |
|    4 | c    |
+------+------+
4 rows in set (0.00 sec)

在sqoop 机器上测试是否可以连上mysql:
[[email protected] sqoop-1.4.6]# mysql -h slave1 -uroot -p123456
[[email protected] sqoop-1.4.6]# mysql -h slave1 -uroot -p123456
ERROR 1045 (28000): Access denied for user root@master (using password: YES)
需要授权:
mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY PASSWORD *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> grant all privileges on *.* to root@% identified by 123456;            
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#####################例子##############

[[email protected] sqoop-1.4.6]# pwd
/usr/local/src/sqoop-1.4.6

[[email protected] sqoop-1.4.6]# bin/sqoop import --connect jdbc:mysql://slave1:3306/test --username root --password 123456 --table tmp --m 1

。。。

。。。

18/01/18 02:20:47 INFO mapreduce.ImportJobBase: Transferred 16 bytes in 146.6658 seconds (0.1091 bytes/sec)
18/01/18 02:20:47 INFO mapreduce.ImportJobBase: Retrieved 4 records.

成功!!!!!!!!!!

提示:sqoop 是要跑mapreduce ,所以所有的MapReduce 机器一定要能给解析mysql 机器(也就是可以ping mysql 机器)

 

默认不指定路径:

[[email protected] sqoop-1.4.6]# hadoop fs -ls /user/root/tmp/
Found 2 items
-rw-r--r-- 3 root supergroup 0 2018-01-18 02:20 /user/root/tmp/_SUCCESS
-rw-r--r-- 3 root supergroup 16 2018-01-18 02:20 /user/root/tmp/part-m-00000
[[email protected] sqoop-1.4.6]# hadoop fs -cat /user/root/tmp/part-m-00000
1,f
2,a
3,b
4,c

 

大数据开发之sqoop详细介绍

...(SQL-to-Hadoop)项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在Sqoop的帮助下,轻松地把关系型数据库的数据导入到Hadoop与其相关的系统(如HBase和Hive)中;同时也可以把数据从Hadoop系统里抽取并导出到关系型数据... 查看详情

sqoop数据迁移

1.1、概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等 1.2... 查看详情

sqoop数据迁移

sqoop数据迁移1概述  sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。  导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统。  导出数据:从Hadoop的文件系统中导出数据到关系数... 查看详情

sqoop数据迁移

概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库工作机制将导入... 查看详情

sqoop数据迁移

3.1概述sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库   3.2工作... 查看详情

使用 sqoop 将数据从 Teradata 迁移到 Hive

】使用sqoop将数据从Teradata迁移到Hive【英文标题】:DataMigrationformTeradatatoHiveusingsqoop【发布时间】:2018-02-1309:12:10【问题描述】:我正在尝试使用sqoop将数据从teradata迁移到hive,但在teradata表中有一些字段具有图形和vargraphic等数据... 查看详情

数据导出/迁移(sqoop技术)

数据导出/迁移的概念         在做数据导出之前,我们看一下已经完成的操作:数据分析阶段将指标统计完成,也将统计完成的指标放到Hive数据表中,并且指标数据存储到HDFS分布式文件存储系统。      ... 查看详情

使用 Sqoop 将视图(数据库表重)从 Oracle 迁移到 Hive

】使用Sqoop将视图(数据库表重)从Oracle迁移到Hive【英文标题】:UsingSqooptomigrateviews(databasetablesheavy)fromOracletoHive【发布时间】:2017-05-2410:42:29【问题描述】:我是大数据的初学者,我们正在使用sqoop和Cloudera管理将视图从Oracle迁... 查看详情

数据湖:数据库数据迁移工具sqoop

         系列专题:数据湖系列文章        Sqoop(SQL-to-Hadoop)是Apache旗下的一款开源工具,该项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也... 查看详情

数据湖:数据库数据迁移工具sqoop

         系列专题:数据湖系列文章        Sqoop(SQL-to-Hadoop)是Apache旗下的一款开源工具,该项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也... 查看详情

数据湖:数据库数据迁移工具sqoop

         系列专题:数据湖系列文章        Sqoop(SQL-to-Hadoop)是Apache旗下的一款开源工具,该项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也... 查看详情

浅谈sqoop

...,是appche旗下的一款工具,主要是负责hadoop与RDBMS之间的数据迁移,即从hadoop文件系统导出数据到RDBMS,从RDBMS导入数据到hadoophdfs,hive,hbase等数据存储系统。b.其实就是将sqoop命令转换成MR程序来完成数据的迁移。c.本质就是执行和计... 查看详情

我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

】我们如何使用SQoop对从RDBMS迁移到HDFS的数据进行测试?【英文标题】:HowwedoTestingonmigrateddatafromRDBMStoHDFSusingSQoop?【发布时间】:2017-06-0601:21:21【问题描述】:测试人员如何测试数据是否从RDBMS移动到HDFS?请仅从测试角度解释。... 查看详情

大数据之非常详细sqoop安装和基本操作(代码片段)

大数据大数据之非常详细Sqoop安装和基本操作目录大数据Sqoop1、上传解压2、配置环境变量配置sqoop环境变量配置sqoop-env.sh3、加入mysql的jdbc驱动包4、验证验证是否安装成功验证启动5、导入mysql表数据到HDFS6、导出HDFS数据到mysql总结... 查看详情

hadoop之sqoop(代码片段)

sqoop产生的原因:多数使用Hadoop技术的处理大数据业务的企业,有大量的数据存储在关系型数据中。由于没有工具支持,对Hadoop和关系型数据库之间数据传输是一个很困难的事。所以sqoop产生了。sqoop简介:sqoop是连接关... 查看详情

sqoop之操作

导入:传统关系型数据库---->大数据平台的importmysql------>hadoop--connect 指定关系型数据库链接url mysql:jdbc://hadoop02:3306/--username 指定数据库的用户名--password 指定数据库的密码--table 指定要导出数据的mysql数据库表关系型... 查看详情

sqoop

1、sqoopflume数据采集采集日志数据sqoop数据迁移hdfs->mysqlazkaban任务调度flume->hdfs->shell->hive->sql->BIsqoop数据迁移=mapreduce处理离线数据整个过程就是数据导入处理导出过程直接使用mapsqoop作用:简化开发mysql->hdfsmapreduces... 查看详情

sqoop关系型数据迁移原理以及map端内存为何不会爆掉窥探

 序:map客户端使用jdbc向数据库发送查询语句,将会拿到所有数据到map的客户端,安装jdbc的原理,数据全部缓存在内存中,但是内存没有出现爆掉情况,这是因为1.3以后,对jdbc进行了优化,改进jdbc内部原理,将数据写入磁盘... 查看详情